首页 > 解决方案 > PHP函数在特定字符之前插入html标签

问题描述

我有一个挑战,我有一些动态文本,这些文本已经将所有 HTML 标签条带化,所以最后我变得有点奇怪。例如:

组合 tessuto: sottoveste: 95% 粘胶纤维,5% 弹性纤维,parte Superiore: 100% poliestere。Manica lunga Tessuto leggeroColore:BiancoLunghezza:Mini

在所有文本的末尾都有 Colore 和 Lunghezza,但正如您所见,它是一个词。

在 Colore 和 Lunghezza 之前插入 HTML 标记 p 以使其更具可读性的最佳方法是什么?

标签: php

解决方案


您可以使用正则表达式将字符串拆分为几个部分:

  1. 在“颜色”之前
  2. “彩色”
  3. 在“Colore”之后到“Lunghezza”的开头
  4. 《隆赫扎》
  5. 在“龙河扎”之后

1然后将, 2 and 3, and包裹4 and 5<p>and中</p>

<?php
$re = '/^(.+)(Colore)(.+)(Lunghezza)(.+)$/m';
$str = 'Composizione tessuto: sottoveste: 95% viscosa, 5% elastan, parte superiore: 100% poliestere. Manica lunga Tessuto leggeroColore:BiancoLunghezza:Mini';
$subst = '<p>$1</p><p>$2$3</p><p>$4$5</p>';

$result = preg_replace($re, $subst, $str);

那么结果就是

<p>Composizione tessuto: sottoveste: 95% viscosa, 5% elastan, parte superiore: 100% poliestere. Manica lunga Tessuto leggero</p><p>Colore:Bianco</p><p>Lunghezza:Mini</p>

现场示例:https ://regex101.com/r/2aGxB0/1


推荐阅读