我正在阅读和操作一系列文本文件中的数据。我注意到我尝试用空格分解一些数据的功能并不总是有效。
例如我有
MOST_RECENT_RESULT 100
作为我的文本文件的一部分。我一直在使用
$pos = strrpos($string, ' ')
并回显右边的最后一个空格来检查它是否正常工作。这适用于大多数文件。但有些人还有空白职位,我觉得很奇怪。所以我从浏览器中复制了字符串并直接在脚本中运行它然后返回正确的位置。这使我相信在访问文件时存在某种空格代码或我在这里缺少的东西,我尝试\r
\v
\n
无济于事。如何准确找出字符串中的字符。如果这确实是实际问题?
答案 0 :(得分:0)
这应该有效。您可以调整str_replace()
数组,根据需要包含字符,以检测您尝试检测的特定类型空白区域的位置:
$string = "MOST_RECENT_RESULT 100";
$string = str_replace(array("\r", "\n", "\r\n", "\v", "\t", "\0","\x"), " ", $string);
$pos = strrpos($string, ' ');
echo $pos;
答案 1 :(得分:-1)
我想我已经解决了这个问题,或者至少已经解决了这个问题:
$new = preg_replace('/[\s\W]+/', ' ', $value);
$position = strrpos($new, ' ');
将非字符转换为文字空间。