PHP如何输出长文本中某个关键字之后的字符串

时间:2017-11-21 09:30:08

标签: php delimiter

基本上,我想要一个长文本文件(源代码),在该文件中查找特定关键字,然后打印出该关键字之后的下400个字符。我不希望关键字之后的所有内容都因为最终有20,000多个字符。 如果可以的话,我想在那里划分它们(这是我最初尝试做但却失败了)它很快变得非常混乱。如果我可以获得400个字符,那么我可以将其保存到文本文件中,然后分隔该400个字符的文本文件。

我的代码现在是:

{{1}}

问题是以上打印出关键字之后的所有东西,我甚至无法拿走我得到的东西并进一步划分它。我正处于越来越多的想法,我从解决方案中获得了进一步的想法。 非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

您可以使用substr($your_string, 0, 400)从字符串开始只获得400个字符。

使用此方法的语法为substr(string,start,length)

答案 1 :(得分:1)

您可以结合strposstrlensubstr来执行此操作。你不需要任何正则表达式,你不应该使用它,因为正则表达式通常会像死亡一样缓慢。尽可能避免使用正则表达式,只有在没有任何其他答案时才使用它。

<?php
$website = $_GET["website"]; //I'm pulling the website from a form
$contents = file_get_contents($website));
$del = 'keyword';

//get the index of the end of your split value
//this is the character index of your keyword, plus the length of the keyword,
//so it will start collecting the next bit at the end of the first occurance of keyword.
$index = strpos($contents, $del) + strlen($del);

//get the text you want
$text = substr($contents, $index, 400);