我想创建一个正则表达式,根据我的国家印刷规则,将常规空间替换为难以破解的空间。它不应触摸HTML标签。
这些示例中的所有空格都应艰辛:
号码
1 000
10 000
100 000
1 000 000
etc..
日期
17. 6.
17. 6. 2012
我想出了:
$pattern = '/((\d\.?)\s(\d))(?=[^>]*(<|$))/';
$text = preg_replace($pattern, '$2 $3', $text);
它可以完成所有这些操作,但:
17. 6. 2012
它不会替换第二个空格,所以结果是->
17. 6. 2012
感谢您的任何帮助!
参考方案
(\d)
正在吃掉第一个尾随数字,并且如果尾随数字只有一个数字,则在下一次传递时将没有足够的剩余数字可匹配。
例如,以下工作正常:12 34 56
,12. 34. 56
。但是这些不包括:1 2 3
,1. 2. 3
可以将(\d)
移入前瞻,以避免吃掉它:
$pattern = '/((\d\.?)\s)(?=\d[^>]*(<|$))/';
$text = preg_replace($pattern, '$2 $3', $text);
将此与@flec的后向使用结合起来:
$pattern = '/(?<=\d)(\.?)\s(?=\d[^>]*(<|$))/';
$text = preg_replace($pattern, '$1 ', $text);
php ziparchive类源代码 - phpImprove this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…
php-casperjs获取内部文本 - php我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…
PHP-将日期插入日期时间字段 - php我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数
PHP strtotime困境 - php有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…
PHP-全局变量的性能和内存问题 - php假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…