我有一个这样的字符串:
System.setProperty("webdriver.chrome.driver", "C:/work/chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless", "--disable-gpu", "--print-to-pdf",
"file:///C:/invoiceTemplate2.html");
WebDriver driver = new ChromeDriver(options);
driver.quit();
或者像这样:
{img:amp.jpg}
我使用php函数preg_match_all获取图像文件名,如" amp.jpg"或alt属性,如"某事"一次,但alt属性是可选的。问题是如何设置一个模式来搜索文件名和alt属性。
最后,我想构建一个html图像标记,如:
{img:amp.jpg alt:something}
答案 0 :(得分:1)
这会创建标记。未设置alt
时,标记中的内容为空。
$re = '/{img:(.*?)(?:}| alt:(.*?)})/';
$str = '{img:amp.jpg alt:something}';
$subst = '<img src="$1" alt="$2" />';
$result = preg_replace($re, $subst, $str, 1);
答案 1 :(得分:0)
作为没有正则表达式的替代方案,您可以:
{
和}
等字符,并将:
替换为:=
,将img
替换为src
这样,如果没有alt
属性,则不会显示该属性,您可以根据需要添加更多属性。
$str = "{img:amp.jpg alt:something}";
$str = str_replace(['{', '}', ':', 'img'], ['', '', '="', 'src'], $str);
$str = sprintf(
'<img %s>',
implode(" ", array_map(function($a){return $a . '"';}, explode(' ', $str)))
);