我想将 a 之前的字符串中的所有内容加粗,:
并按照以下方式(PHP):
$string = preg_replace('/(.*):/', '<span class="bold">\\1:</span>', $string);
现在我需要一个例外:(
如果:
. 这可能吗?
(所以基本上Size: 123
应该加粗,但We increase this (Max: 30)
不应该加粗)
当然,只需使用:
$string = preg_replace('/([^(]*):/', '<span class="bold">\\1:</span>', $string);
它将匹配 : 之前的任何字符,除了 (.
你要崩溃了......让我们说:一切
<a href="http://example.com"><img src="http://example.com/image.png"/></a>
怎么办?
我认为,这Size: 123
不是页面上的“某处”。所以格式化它,当你输出它时
list($name, $value) = array_map('trim', explode(':', $attribute));
echo "<span class=\"bold\">$name</span>: $value";
最好首先将其作为数组,例如array('Size'=>'123')
@blue112 几乎就在那里,但为了不在Max
字符串中加粗,We increase this (Max: 30)
需要确保整个字符串不包含任何左括号。这是通过添加字符串开头标记来完成的^
:
$string = preg_replace('/^([^(]*):/', '<span class="bold">\\1:</span>', $string);
在这里查看它的实际应用。