php 将字符串替换为 html 标签
php replace string to html tag
我想在 php 页面中显示来自 .txt 的内容,并将一些标签更改为 html 代码,如下所示:
改变这个:
[img: something.jpg]
为此:
<img src="something.jpg" />
我试过使用preg_replace
,但我不知道如何使用像/(){}^*.:
这样的符号。
使用这样的东西从字符串中提取一些变量
是什么意思?
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
您可以使用以下正则表达式,如
\[(\w+):\s?(\w+.\w+)]
正则表达式解释
\[
: \[
将逐字检查 [
。
(\w+):
: (\w+)
捕获任意单词字符组 [a-zA-Z0-9_]
。 +
在一次和无限次之间,尽可能多次,:
将按字面意思检查 :
\s?
: 匹配任何白色 space 字符 [\r\n\t\f ]
。 ?
0到1次之间,越多越好
(\w+.\w+)
: 捕获任意单词字符组 [a-zA-Z0-9_]
所以像
一样使用preg_replace
echo preg_replace('/\[(\w+):\s?(\w+.\w+)]/',"< src='' />","[img: something.jpg]");
@Uchiha 有一个很棒的正则表达式 (+1!),但如果您想将它用于[shortcode]
类型的申请:
function shortcode($val = false)
{
return (!empty($val))? preg_replace_callback('/\[(\w+):\s?(\w+.\w+)]/',function($matches) {
if(!empty($matches[2])) {
switch($matches[1]) {
case ('img'):
return '<img src="'.$matches[2].'" />';
}
}
},$val) : false;
}
echo shortcode('[img: something.jpg]');
我想在 php 页面中显示来自 .txt 的内容,并将一些标签更改为 html 代码,如下所示:
改变这个:
[img: something.jpg]
为此:
<img src="something.jpg" />
我试过使用preg_replace
,但我不知道如何使用像/(){}^*.:
这样的符号。
使用这样的东西从字符串中提取一些变量
是什么意思?
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
您可以使用以下正则表达式,如
\[(\w+):\s?(\w+.\w+)]
正则表达式解释
\[
:\[
将逐字检查[
。(\w+):
:(\w+)
捕获任意单词字符组[a-zA-Z0-9_]
。+
在一次和无限次之间,尽可能多次,:
将按字面意思检查:
\s?
: 匹配任何白色 space 字符[\r\n\t\f ]
。?
0到1次之间,越多越好(\w+.\w+)
: 捕获任意单词字符组[a-zA-Z0-9_]
所以像
一样使用preg_replace
echo preg_replace('/\[(\w+):\s?(\w+.\w+)]/',"< src='' />","[img: something.jpg]");
@Uchiha 有一个很棒的正则表达式 (+1!),但如果您想将它用于[shortcode]
类型的申请:
function shortcode($val = false)
{
return (!empty($val))? preg_replace_callback('/\[(\w+):\s?(\w+.\w+)]/',function($matches) {
if(!empty($matches[2])) {
switch($matches[1]) {
case ('img'):
return '<img src="'.$matches[2].'" />';
}
}
},$val) : false;
}
echo shortcode('[img: something.jpg]');