Okey所以我知道我可以使用 preg_replace 从字符串中删除字母和数字。但这就是我想要做的事情。
我正在使用一个名为 Engage forms 的wordpress插件,它将提交的数据存储在mySQL数据库中。
棘手的部分是,由于某种原因,提交的数据并未完全存储。 (原因是开发者为这个插件制作了一些紫色,我不知道如何在没有未知数字和字母的情况下打印出来。)
这就是我的意思:
我提交数据
以下是mySQL数据库中的数据如何显示以及如何在网页上打印出来的数据:
一个:4:{S:18:" firstname25601459863853&#34 ;; S:5:"彼得&#34 ;; S:23:" lastnamn77151459863853&#34 ;; S:8 :"斯特曼&#34 ;; S:19:" email58511459863853&#34 ;; S:13:" Storm@ren.com" ;; S:21:" phone22101459863853&# 34 ;; S:10:" 0736997385&#34 ;;}
所以我尝试使用我的小知识并尽可能多地带走:
$patterns = array();
$patterns[0] = '/[{}]/';
$patterns[1] = '/[a-x]:[0-9]/';
$patterns[2] = '/[0-9]:/';
$patterns[3] = '/[a-x]:/';
$patterns[4] = '/[":"]/';
$patterns[5] = '/;/';
$patterns[6] = '/namn[1]/';
$replacements = array();
$replacements[2] = '';
$replacements[1] = '';
$replacements[0] = '';
$replacements[3] = '';
$replacements[4] = ' ';
$replacements[10] = ''
echo preg_replace($patterns, $replacements, $leadslist);
现在应该输出这个:
firstname25601459863853 Peter lastname77151459863853 Stormare email58511459863853 Storm@ren.com phone22101459863853 0736997385
无论如何我现在可以定位跟随名字和其他名字的随机数,而不删除电话号码? (示例电话号码是0736997385。
最佳解决方案atm由用户提交:Pei-turn。
他告诉我如何删除任何大于10位的数字。在Preg_replace()
中使用此模式$patterns[3] = '/[0-9]{0,9}[0-9]{11,}/';
这非常有效。我唯一担心的是,由于奇怪的未来表单提交,某些数据可能会被删除。
答案 0 :(得分:0)
电话号码有10位数字,尝试删除所有短于10且长于10的数字序列
[0-9] {0,9} [0-9] {11,}