我有:
我有一个上传器生成如下链接:(此链接在一行)
[url="http://mydomain.ir/direct.php?http://cdn1.mydomain.ir/up/137594098272081.jpg"][img]http://cdn1.mydomain.ir/up/thumbs/137594098272081.jpg[/img][/url]
使用3种不同数据创建的链接
首先, pagelink :http://mydomain.ir/direct.php
第二,图片:http://cdn1.mydomain.ir/up/137594098272081.jpg
第三,拇指:http://cdn1.mydomain.ir/up/thumbs/137594098272081.jpg
我想要的是什么:
我想以最简单的方式(快速方式)将这3个数据作为数组提供
有什么问题? :
可以使用explode
功能但必须具有良好的功能可能是一个很大的代码
没有更好的方法来简单快速地清理这个链接? ,例如regx。
答案 0 :(得分:1)
试试这个:
<?php
$regex = '/\[url="(?<pagelink>(.*))\?(?<image>(.*))\"\]\[img\](?<thumb>(.*))\[\/img\]\[\/url\]/i';
$text = '[url="http://mydomain.ir/direct.php?http://cdn1.mydomain.ir/up/137594098272081.jpg"][img]http://cdn1.mydomain.ir/up/thumbs/137594098272081.jpg[/img][/url]';
preg_match($regex, $text, $matches);
print_r($matches);
答案 1 :(得分:0)
$txt='[url="http://mydomain.ir/direct.php?http://cdn1.mydomain.ir/up/137594098272081.jpg"][img]http://cdn1.mydomain.ir/up/thumbs/137594098272081.jpg[/img][/url]';
$re2='(".*?")'; # Double Quote String 1
$result="http://mydomain.ir/direct.php?http://cdn1.mydomain.ir/up/137594098272081.jpg";
然后split
按"?"
作为分隔符..
$returnValue = explode('?', '"http://mydomain.ir/direct.php?http://cdn1.mydomain.ir/up/137594098272081.jpg"');
array (
0 => '"http://mydomain.ir/direct.php',
1 => 'http://cdn1.mydomain.ir/up/137594098272081.jpg"',
)
使用THIS工具在线尝试注册
答案 2 :(得分:0)
可以使用简单的搜索和替换子字符串吗?
<?PHP
$string = '[url="http://mydomain.ir/direct.php?http://cdn1.mydomain.ir/up/137594098272081.jpg"][img]http://cdn1.mydomain.ir/up/thumbs/137594098272081.jpg[/img][/url]';
$start = '[url="';
$middle = '"][img]';
$end = '[/img][/url]';
// get the link that's between $start & $middle
$theLink= substr($string, strlen($start)+strpos($string, $start), (strlen($string) - strpos($string, $middle))*(-1));
// output: http://mydomain.ir/direct.php?http://cdn1.mydomain.ir/up/137594098272081.jpg
// do a explode('?',$theLink) here if you need to
// get the img that's between $middle & $end
$theImg= substr($string, strlen($middle)+strpos($string, $middle), (strlen($string) - strpos($string, $end))*(-1));
// output: http://cdn1.mydomain.ir/up/thumbs/137594098272081.jpg
?>