我对PHP有点绿,因为我之前在ASP经典编码并且它真的不一样
我有3个包含以下文字的字符串:
$str1 = "is simply dummy text of the printing $$ 6/4r $$ and typesetting industry"
$str2 = "is simply dummy text of the printing $$ 11/11tr $$ and typesetting industry"
$str3 = "is simply dummy text of the printing $$ 15/6 $$ and typesetting industry"
如何在单独的变量中输出6/4r
,11/11tr
和15/6
?
$$
如果所有这些都是真的,我想抓住6/4r
并将其放在单独的var。
我如何在PHP中执行此操作?
答案 0 :(得分:6)
explode
:
var_dump(explode('$$', $str1));
array(3) {
[0] => string(37) "is simply dummy text of the printing "
[1] => string(6) " 6/4r "
[2]=> string(25) " and typesetting industry"
}
因此trim($array[1])
将始终返回您想要的细分。
答案 1 :(得分:2)
正则表达式:
$str = 'is simply dummy text of the printing $$ 6/4r $$ and typesetting industr';
preg_match('|\$\$(.*)\$\$|',$str,$match);
echo $match[1];
答案 2 :(得分:0)
我不知道这是不是最好的方法,但我会使用爆炸功能
http://php.net/manual/en/function.explode.php
$pieces = explode(' \$\$ ', $str1);
//Should contain 6/4r
echo $pieces[1];
答案 3 :(得分:0)
使用preg_match
查找美元符号之间的所有内容(不是空格)
function getValue($str){
$pattern = '/\$\$\s*([^\$\s]+)\s*\$\$/i';
if(preg_match($pattern, $str, $match)){
return $match[1];
}
return false;
}
echo getValue($str1);