php如何取出中间文本,如何在php中的2个标签之间提取文本

如果你的字符串实际上是HTML数据,你必须添加htmlentities($ lump),这样它就不会返回空:

$lump = '

rtyfbytgyuibg-----start-----
isnv4b987b6vdc5y6ughnjmn9b8v76ctyubinn98b76r
-----end-----gcgkhjkn';

$lump = htmlentities($lump) //

$start_tag = '-----start-----';

$end_tag = '-----end-----';

// method 1

if (preg_match('/'.preg_quote($start_tag).'(.*?)'.preg_quote($end_tag).'/s', $lump, $matches)) {

echo $matches[1];

}

// method 2 (faster)

$startpos = strpos($lump, $start_tag) + strlen($start_tag);

if ($startpos !== false) {

$endpos = strpos($lump, $end_tag, $startpos);

if ($endpos !== false) {

echo substr($lump, $startpos, $endpos - $startpos);

}

}

// method 3 (if you need to find multiple occurrences)

if (preg_match_all('/'.preg_quote($start_tag).'(.*?)'.preg_quote($end_tag).'/s', $lump, $matches)) {

print_r($matches[1]);

}

// method 4

$output = strstr( substr( $string, strpos( $string, $start) + strlen( $start)), $end, true);

//Turn back to regular HTML

echo htmlspecialchars_decode($output);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要从文本提取指定关键字或标记,可以使用 PHP 的字符串处理函数。以下是一个简单的例子,可以从文本提取指定的关键字: ```php $text = "这是一个包含关键字的文本块。关键字是 PHP。"; $keyword = "PHP"; if (strpos($text, $keyword) !== false) { echo "文本块包含关键字:$keyword"; } else { echo "文本块不包含关键字:$keyword"; } ``` 在上面的代码,我们使用了 PHP 的 `strpos()` 函数来查找关键字在文本的位置。如果关键字存在于文本,`strpos()` 函数会返回一个非负整数值,表示关键字在文本的起始位置;否则,`strpos()` 函数会返回 `false`。我们使用一个条件语句来检查关键字是否存在于文本,并输出相应的结果。 如果你需要从文本提取多个关键字,可以使用 PHP 的 `preg_match_all()` 函数。以下是一个简单的例子,可以从文本提取所有的 IP 地址: ```php $text = "这是一个包含 IP 地址的文本块。IP 地址是 192.168.1.1 和 10.0.0.1。"; $pattern = "/\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/"; if (preg_match_all($pattern, $text, $matches)) { $ips = implode(", ", $matches[0]); echo "文本块包含 IP 地址:$ips"; } else { echo "文本块不包含 IP 地址。"; } ``` 在上面的代码,我们使用了一个正则表达式模式来匹配 IP 地址。`\b` 表示单词边界,`\d` 表示数字,`{1,3}` 表示重复 1 到 3 次,`\.` 表示点号。我们使用 `preg_match_all()` 函数来查找文本所有匹配的 IP 地址,并将它们存储在 `$matches` 数组。最后,我们使用 `implode()` 函数将所有的 IP 地址连接成一个字符串,并输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值