制作单词粗体php的问题

时间:2013-11-24 07:33:35

标签: php regex pcre

好的,所以我有一个输出一些文字的字符串。

  

〜Terraces
  公寓设有两个大露台。起居室可通往主露台(30平方米),配有带6把扶手椅的大木桌和大型舒适的木制日光浴床。这里的景色令人惊叹,您可以欣赏到令人难以置信的海景,同时您还可以欣赏到位于Marbella后面的引人注目的La Concha的迷人景色。第二个露台(14平方米)可从厨房进入。

我唯一要做的就是将这样的 ~string 这样的模式转换为 string 。更专门去除〜,空格和使文字变粗。

我创建了这个函数:

function bold($var) {
$var = preg_replace('/~\s(.*?)/', '<strong>$1</strong>', $var);
return $var;
}

该函数删除〜但不会使文本变粗。为什么?更奇怪的是,如果我在强标签之间插入一些内容,我将以粗体显示该文本,然后是我想要取消标记的文本,即使它们是'重新使用相同的标签。

就像快速说明一样...... $ var在整个字符串中,就像上面例子中的那样。

2 个答案:

答案 0 :(得分:1)

我相信你需要这个:

$var = preg_replace('/~\s*(\S+)/', '<strong>$1</strong>', $var);

答案 1 :(得分:0)

首先。 PHP是一种服务器端语言,因此为了使其变粗,您可能希望使用粗体标记回显HTML。

运行正则表达式后,为什么不这样做:

$var = '<strong>$var</strong>';

而不是尝试通过正则表达式完成所有操作?