下面是一个函数,可以获得一个包含两个其他字符串的字符串,没有问题,
function GetBetween($content,$start,$end){
$r = explode($start, $content);
if (isset($r[1])){
$r = explode($end, $r[1]);
return $r[0];
}
return '';
}
假设我有这样的代码:
<code>Sample one</code>
<code>Sample two</code>
<code>Sample three</code>
使用GetBetween($content,'<code>',</code>')
时,不会返回array("Sample one","Sample two","Sample three")
之类的内容,而只会返回第一个“Sample 1”
我怎样才能让它在我指定的两件事之间返回一切?如果我能得到一个没有用“”标签硬编码的解决方案,我将不胜感激,因为我将需要这个用于许多不同的事情。
答案 0 :(得分:4)
首先,regex
不是解析HTML/XML
的正确工具,而是可以像{/ p>一样使用DOMDocument
$xml = "<code>Sample one</code><code>Sample two</code><code>Sample three</code>";
$dom = new DOMDocument;
$dom->loadHTMl($xml);
$root = $dom->documentElement;
$code_data = $root->getElementsByTagName('code');
$code_arr = array();
foreach ($code_data as $key => $value) {
$code_arr[] = $value->nodeValue;
}
print_r($code_arr);
<强>输出:强>
Array
(
[0] => Sample one
[1] => Sample two
[2] => Sample three
)
答案 1 :(得分:1)
答案 2 :(得分:1)
猜猜你可以尝试这样的事情,
In addition to answer by Ferrybig, can you try this:
WebElement scroll = driver.findElement(By.xpath("//div[@id='gvLocationHorizontalRail']"));
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript(
driver.execute_script("arguments[0].scrollIntoView()", scroll);