php - strpos() 数组问题
问题描述
我正在尝试为每个数组元素添加一些文本。但我也想添加该文本特定的数组元素。这就是我使用strpos的原因,但是弹出了这个错误。Strpos() expects parameter 1 to be string, array given
这是我的代码:
$outline = 'outline/index.html';
$allDivs = [];
$allDivs = $parser->getElementsByTagName('div');
foreach ($allDivs as $div) {
if ($div->getAttribute('class') == 'p-articlelist-content-right') {
if ($div != null) {
$links = $div->getElementsByTagName('a');
if ($links->length > 0) {
$a = $links->item(0);
$link[] = $a->getAttribute('href');
} if(strpos($link, 'https://sumai.tokyu-land.co.jp') === 0) {
foreach($link as $value) {
var_dump($value . $outline);
}
}
}
}
}
我在这里想念什么?任何想法?谢谢你。
解决方案
strpos
对字符串进行操作,$link
是一个数组,如错误状态。我认为这就是你想要的:
if ($links->length > 0) {
$a = $links->item(0);
$linkRef = $a->getAttribute('href');
if (strpos($linkRef, 'https://sumai.tokyu-land.co.jp') === 0) {
// This will only work for urls that end on '/' but fail for example.com/index.html
$linkRef .= $outline;
}
$link[] = $linkRef;
}
推荐阅读
- sql - SQLite - 两个 PK,一个 FK
- jestjs - Stenciljs 和 Jest。意外的令牌“出口”
- c# - EFCore 在选择中生成幻列名称
- laravel - 如何将多个值从控制器传递到视图
- amazon-s3 - NiFi 看不到 AWS 配置文件
- python - 在 Instagram Searchbox Python 中输入后按 Enter
- regex - 如何拆分作为编号列表的字符串
- javascript - 在 gatsby 上调用 rest 的实现
- firefox - 由于 Firefox 浏览器中的安全限制,Neo4j 驱动程序无法连接到服务器
- office365 - 基本身份验证客户端报告 - Office 365 控制台中有一个吗?