我在数组$ phone中保存了一个值,想删除“电话”和“ - ”。 $ phone的原始值是“电话+47-87654321”,我希望它是“+ 4787654321”。
到目前为止,我已经制作了这段代码:
$phone = Tel. +47 - 87654321;
echo "<br />"
. str_replace("Tel. ","",($phone->textContent)
. str_replace(" - ","",$phone->textContent));
结果:
+47 - 87654321 + 4787654321
如何避免打印(回显)此代码的第一部分?这是一个更好的方法吗?
这对我有用:
echo "<br />" . str_replace(array("Tel. ", " - "), "", $phone->textContent);
答案 0 :(得分:3)
不要连接两个函数的结果,因为它们在更改后返回整个字符串。
而是在下次通话中更改
$string = str_replace("Tel. ", "", $phone->textContent);
$string = str_replace(" - ", "", $string);
或将项目数组传递给str_replace()
。
$string = str_replace(array("Tel. ", " - "), "", $phone->textContent);
答案 1 :(得分:0)
将中间结果分配给变量。尝试:
$temp = str_replace("Tel. ","",($phone->textContent);
echo "<br />". str_replace(" - ","",$temp));
答案 2 :(得分:0)
echo preg_replace ("/^(.*)(?=\\+)(.*)$/", "$2", "Tel. +47 - 87654321" )
将输出:
+47 - 87654321
说明:
它使用正则表达式将字符串分成两组:
+
(使用前瞻)+
之后的任何内容,包括+
然后仅将其替换为第二组