PHP将Span类放入括号regex中
这就是我到目前为止所做的:PHP将Span类放入括号regex中,php,regex,image,preg-replace,str-replace,Php,Regex,Image,Preg Replace,Str Replace,这就是我到目前为止所做的: $phones = "Samsung Galaxy S8~LG G6~iPhone 7 Plus~ Motorola Z2"; $phones = str_replace("Galaxy S", '<span class="galaxy">galaxy</span>', $phones); $value = preg_replace('/(\d+.*?)(~)/', '($1)$2', $phones . "~"); $value =
$phones = "Samsung Galaxy S8~LG G6~iPhone 7 Plus~ Motorola Z2";
$phones = str_replace("Galaxy S", '<span class="galaxy">galaxy</span>', $phones);
$value = preg_replace('/(\d+.*?)(~)/', '($1)$2', $phones . "~");
$value = "<li>". str_replace("~", ",</li><li>", substr($value,0,-1)) . "</li>";
Echo $value;
$phones=“三星Galaxy S8~LG G6~iPhone 7 Plus~Motorola Z2”;
$phones=str_replace(“Galaxy S”、“Galaxy”和$phones);
$value=preg_replace(“/(\d+.*)(~)/”、“($1)$2”、$phones.“~”;
$value=“”。str_replace(“~”,“, ”,substr($value,0,-1))。“ ”;
Echo美元价值;
结果是:
- 三星galaxy(8)
- LG G(6)
- iPhone(7+以上)
- 摩托罗拉Z(2)
- 三星(galaxy8)
- LG G(6)
- iPhone(7+以上)
- 摩托罗拉Z(2)
$phone='三星Galaxy S8~LG G6~ iPhone 7 Plus~摩托罗拉Z2';
$match='/Galaxy S(\d+)/';
$replace='(galaxy$1)';
echo preg_替换($match,$replace,$phone);
未分配的产出:
Samsung ( <span class="galaxy">galaxy</span> 8 )~LG G6~iPhone 7 Plus~ Motorola Z2
<ul><li>Samsung ( <span class="galaxy">galaxy</span> 8 ),</li><li>LG G6,</li><li>iPhone 7 Plus,</li><li> Motorola Z2</li></ul>
<ul><li>Samsung (<span class="galaxy">galaxy</span> 8)</li><li>LG G(6)</li><li>iPhone (7 Plus)</li><li>Motorola Z(2)</li></ul>
三星(galaxy 8)~LG G6~ iPhone 7 Plus~摩托罗拉Z2
下面是完整的
块:
$phone='Samsung Galaxy S8~LG G6~iPhone 7 Plus~ Motorola Z2';
$match='/Galaxy S(\d+)/';
$replace='( <span class="galaxy">galaxy</span> $1 )';
echo '<ul><li>',str_replace('~',',</li><li>',preg_replace($match,$replace,$phone)),'</li></ul>';
$phone='三星Galaxy S8~LG G6~ iPhone 7 Plus~摩托罗拉Z2';
$match='/Galaxy S(\d+)/';
$replace='(galaxy$1)';
回音“- ”,str_replace(“~”,“
- ”,preg_replace($match,$replace,$phone)),“
”;
未分配的产出:
Samsung ( <span class="galaxy">galaxy</span> 8 )~LG G6~iPhone 7 Plus~ Motorola Z2
<ul><li>Samsung ( <span class="galaxy">galaxy</span> 8 ),</li><li>LG G6,</li><li>iPhone 7 Plus,</li><li> Motorola Z2</li></ul>
<ul><li>Samsung (<span class="galaxy">galaxy</span> 8)</li><li>LG G(6)</li><li>iPhone (7 Plus)</li><li>Motorola Z(2)</li></ul>
三星(galaxy 8)、LG G6、iPhone 7 Plus、摩托罗拉Z2
最终变更:
$phones="Samsung Galaxy S8~LG G6~iPhone 7 Plus~ Motorola Z2";
$patterns=[
'/(?:Galaxy S)?\d[^~]*/', // match (optional Galaxy S), number, optional trailing text
'/~ ?/', // match delimiter and optional trailing space (at Motorola)
'/Galaxy S/' // literally match Galaxy S
];
$replacements=[
'($0)', // wrap full string match in parentheses
'</li><li>', // use closing and opening li tags as new delimiter
'<span class="galaxy">Galaxy</span> ' // tagged text (note: G & space after </span>)
];
$full_list='<ul><li>'.preg_replace($patterns,$replacements,$phones).'</li></ul>';
echo $full_list;
$phones=“三星Galaxy S8~LG G6~iPhone 7 Plus~Motorola Z2”;
$patterns=[
“/(?:Galaxy S)?\d[^~]*/”,//匹配(可选Galaxy S),编号,可选尾随文本
“//~?/”,//匹配分隔符和可选尾随空格(摩托罗拉)
“/Galaxy S/”//与Galaxy S完全匹配
];
$replacements=[
“($0)”,//将完整字符串匹配换行到括号中
“”,//使用关闭和打开li标记作为新的分隔符
'Galaxy'//标记的文本(注意:后面的G和空格)
];
$full_list='- '.preg_replace($patterns,$replacements,$phones)。'
';
echo$full_列表;
未分配的产出:
Samsung ( <span class="galaxy">galaxy</span> 8 )~LG G6~iPhone 7 Plus~ Motorola Z2
<ul><li>Samsung ( <span class="galaxy">galaxy</span> 8 ),</li><li>LG G6,</li><li>iPhone 7 Plus,</li><li> Motorola Z2</li></ul>
<ul><li>Samsung (<span class="galaxy">galaxy</span> 8)</li><li>LG G(6)</li><li>iPhone (7 Plus)</li><li>Motorola Z(2)</li></ul>
- 三星(galaxy 8)
LG G(6)- iPhone(7 Plus)
- 摩托罗拉Z(2)