我在清理 XPaths 结果 (php/domxpath) 时遇到一些问题。通常我会尝试使用正则表达式来实现这一点,但我注意到这里有很多反正则表达式的建议,所以我想问是否有更好的解决方案来解决我的问题。
分隔城市和邮政编码
Xpath 传送“10021 New York City”。邮政编码和城市有所不同。我如何最好地分割这些?
从 URL 中提取信息
Xpath 提供“http://www.whatever.com/?k=5000+z=6000”。我如何最好地提取“k=500+z=600”?
从较长的文本片段中提取信息
Xpath 提供“总大小可能为 3130ft² 或更大”。唯一一致的模式是数字后跟 ft²。
最佳答案
1.
if (preg_match('/(\d+) (.*)/', $subject, $regs)) {
$zip = $regs[1];
$city = $regs[2];
}
2.
if (preg_match('/[^?]*$/', $subject, $regs)) {
$size= $regs[0];
}
(尽管实际上您应该使用 URL 解析器)
3.
if (preg_match('/\d+(?=ft²)/', $subject, $regs)) {
$result = $regs[0];
}
关于php - 如何解析这些字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14013130/