php - PHP - 如何过滤内容并在其他地方彼此相邻显示
问题描述
如何过滤我的内容并将这些值一起显示在其他地方。内容正在通过我们的客户端填充的 XML 加载。因此我无法更改这些值。问题是我的价值观不同。我目前正在过滤一些值:
if (!empty($arraywithvalues)) {
$array = explode("<br>", $arraywithvalues);
foreach( $array as $key => $value){
if (
strpos(strtolower($value),'oppervlakte') !== FALSE ||
strpos(strtolower($value),'perceel') !== FALSE ||
strpos(strtolower($value),'golf') !== FALSE
) {
$filtered_content[] = $value;
unset($array[$key]);
}
};
这是为了过滤掉文本位,这在这个网站上可以看到成功。问题是仍然需要过滤掉一些值,例如:
20平方米
20公里
然而过滤本身是没有问题的。我遇到的问题是将值放在一个和另一个旁边。举个例子。距离高尔夫(第一个过滤值) - 20 公里(第二个过滤值)。我怎样才能做到这一点?
导入时的 XML:
string(82)"
Bebouwde oppervlakte
80 M2
Terras oppervlakte
20 M2
Keuken oppervlakte
12 M2"
解决方案
如果记录按上述顺序排列,则相当容易。您缓冲第一行,然后继续阅读,直到出现第二个值的行。然后连接缓冲区和当前值。
if (!empty($arraywithvalues)) {
$array = explode("<br>", $arraywithvalues);
foreach( $array as $value){
if ( strpos(strtolower($value),'oppervlakte') !== FALSE ||
strpos(strtolower($value),'perceel') !== FALSE ||
strpos(strtolower($value),'golf') !== FALSE ) {
$buffer = $value;
} elseif ( strpos(strtolower($value),'m2') !== FALSE ||
strpos(strtolower($value),'km') !== FALSE ) {
$filtered_content[] = $buffer . ' - ' . $value;
}
}
}
推荐阅读
- python - 如何找到“查看来自...的更多帖子”按钮?硒 - 蟒蛇
- c++ - 将串行输入读入字符数组
- google-apps-script - “从清单部署”然后为我的帐户“安装插件”
- django - django模型表单不保存数据
- java - 如何使用数据提供者获取黄瓜步骤并编写 json 文件?
- keyerror - 获取缺少`code`参数的KeyError
- python - Modin 加速 Pandas 应用功能吗?
- c# - 在 WPF 中将 TextBox 的文本绑定到类的属性和应用程序设置
- javascript - 使用 vanila javascript 销毁动态创建的文件池实例
- sympy - Sympy 无法计算积分(sec(x+1)**2, x)