我想为用户提供一些格式化选项,例如 Reddit 或 stackOverFlow,但希望将其保留在 PHP 中。如何解析 PHP 中的字符串以使其识别类似的模式**[anything here]**
?
explode() 似乎并没有像我想的那样优雅地解决问题。我应该只使用基于explode()输出的嵌套ifs和fors吗?这里有更好的解决方案吗?
我想为用户提供一些格式化选项,例如 Reddit 或 stackOverFlow,但希望将其保留在 PHP 中。如何解析 PHP 中的字符串以使其识别类似的模式**[anything here]**
?
explode() 似乎并没有像我想的那样优雅地解决问题。我应该只使用基于explode()输出的嵌套ifs和fors吗?这里有更好的解决方案吗?
其他人已经做过无数次了,我建议使用现有的库。例如可以使用 Markdown: http: //michelf.com/projects/php-markdown/
检查正则表达式:
$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 解析器。