我试图将preg_match仅用于两个特定符号中的字符串,例如
My Name is %^i%Ibrahem ^i.
我想使用preg_match只是为了^ i,这两个符号%%里面是font-style:italic;我试过了:
$find=array('`\^i`si'); $replace=array('font-style:italic;'); $replaced = preg_replace($find,$replace,$string);
但它取代了最后一个^ i也记住%%之间的字符串也可以是%^ b ^ i%所以我不能条件该字符串必须是%^ i%帮助!
答案 0 :(得分:0)
您可以改用此模式:
$find = array('/%(.*?)(\^i)(.*?)%/', '/%(.*?)(\^b)(.*?)%/');
$replace = array('%$1font-style:italic;$3%', '%$1font-weight:bold;$3%');
$replaced = preg_replace('/%(.*)%/', '<span style="$1">', preg_replace($find, $replace, $string));