我正在研究一些代码,而且我已经做了足够的工作来实现目标。我想替换该文本正文中的图像网址和网络链接。
E.G“这是我的文字http://www.google.com和一些图片http://www.somewebimage.png”
替换为“这是我的文字<a href="http://www.google.com">http://www.google.com</a>
和一些图片<img src="http://www.somewebimage.png">
”
我的hack让我替换url(s)或img链接但不是两个。因为订单而被覆盖了
$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
$reg_exImg = '/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?(jpg|png|gif|jpeg)/';
$post = "This is my text with http://www.google.com and some image http://www.somewebimage.png";
if(preg_match($reg_exImg, $post, $img)) {
$img_post = preg_replace($reg_exImg, "<img src=".$img[0]." width='300' style='float: right;'> ", $post);
} else {
$img_post = $post;
}
if(preg_match($reg_exUrl, $post, $url)) {
$img_post = preg_replace($reg_exUrl, "<a href=".$url[0]." target='_blank'>{$url[0]}</a> ", $post);
} else {
$img_post = $post;
}
如果我阻止了$ reg_exUrl代码块,我会得到图片链接,如果它运行了我得到了url链接。
答案 0 :(得分:0)
你可以一次性完成,你的两个模式非常相似,并且很容易构建一个处理这两种情况的模式。使用public static void createEndUsers(Zendesk zd){
for(Organization org : zd.getOrganizations()){
List<User> usersList = getUsersPerOrg(org, 0)
JobStatus js = zd.createUsers(usersList);
List<T> resultElements = js.getResults();
}
}
,您可以在回调函数中选择替换字符串:
preg_replace_callback