0

我想为用户提供一些格式化选项,例如 Reddit 或 stackOverFlow,但希望将其保留在 PHP 中。如何解析 PHP 中的字符串以使其识别类似的模式**[anything here]**

explode() 似乎并没有像我想的那样优雅地解决问题。我应该只使用基于explode()输出的嵌套ifs和fors吗?这里有更好的解决方案吗?

4

2 回答 2

2

其他人已经做过无数次了,我建议使用现有的库。例如可以使用 Markdown: http: //michelf.com/projects/php-markdown/

于 2012-05-08T19:29:38.363 回答
-1

检查正则表达式:

$string = '*bold* or _underscored_ or even /italic/ ..';
// italic
$string = preg_replace('~/([^/]+)/~', '<i>$1</i>', $string);
// bold
$string = preg_replace('/\*([^\*]+)\*/', '<b>$1</b>', $string);
// underscore
$string = preg_replace('/_([^_]+)_/', '<u>$1</u>', $string);

echo $string;

输出:

<b>bold</b> or <u>underscored</u> or even <i>italic</i> ..

或使用 BBCode 解析器。

于 2012-05-08T19:32:28.597 回答