将周围的下划线转换为标签

时间:2010-07-02 16:12:56

标签: php html

如何使用PHP将围绕单词和句子的uderscores从一大块文本转换为斜体标签。提前谢谢。

所以 -

This is _just_ a test string for the _purposes of this example_.

会变成 -

This is <i>just</i> a test string for the <i>purposes of this example</i>.

3 个答案:

答案 0 :(得分:2)

$content = "This is _just_ a test string for the _purposes of this example_.";

preg_match_all("|_(.*)_|U",$content,$rows);

foreach($rows[0] as $key=>$row) {
    $content = str_replace($row, "<i>".$rows[1][$key]."</i>", $content);
}
echo $content;
  

这是只是本示例目的的测试字符串

答案 1 :(得分:1)

基本上使用正则表达式。请注意,如果下划线出现在其他位置,则可能会产生不良影响。在预先存在的HTML标记和URL中。如果是这样,你也必须尝试使用​​\ b。

preg_replace('/_(\w[^<>\n]+?\w)_/', '<i>$1</i>', $text);

或者,使用现成的Wiki解析器,如果这是你需要的。

答案 2 :(得分:0)

  1. 访问http://daringfireball.net/projects/markdown/以了解Markdown语法。
  2. 访问http://michelf.com/projects/php-markdown/下载并安装PHP版本。
  3. 从PHP中调用$html = Markdown("_text_");