我正在学习MySQL,并使用phpMyAdmin在我的Wordpress数据库中为一个有成千上万种产品的商店做更改。
我正在尝试做一个快速更新,我拉出一个URL并将其粘贴到我想要添加的短代码中。
目前,我的表中的每一条记录都在一堆其他文本中包含此内容。
<input type="hidden" name="prtks" value="http://domainname/folder/filename.mp3"/>我希望保留此字段并添加到同一字段中的每个记录中
[sc_embed_player_template1 fileurl="url from above"/"]这是相当棘手的,因为我知道我可以通过计算字符找到一个子字符串,但是有没有办法从http一直拉到最终的.mp3?
非常感谢!
发布于 2015-01-06 23:56:47
这不是在MySQL中实现的,但如果我没理解错的话,您似乎是在谈论通过执行以下操作在php文件中执行此操作:
<?php
$url = '<input type="hidden" name="prtks" value="http://domainname/folder/filename.mp3"/>';
$parts = explode('"', $url);
echo 'URL: '.$parts[5];
?>它使用php字符将字符串分解成一个基于“explode()”的数组。
然后你就可以回想第六部分($parts[5])
发布于 2015-03-29 11:10:42
为什么不使用一个简单的正则表达式来提取url呢?
$str = '<input type="hidden" name="prtks" value="http://domainname/folder/filename.mp3"/>';
preg_match_all('/\b(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)[-A-Z0-9+&@#\/%=~_|$?!:,.]*[A-Z0-9+&@#\/%=~_|$]/i', $str, $match, PREG_PATTERN_ORDER);
var_dump($match[0][0]);
// string 'http://domainname/folder/filename.mp3' (length=37)发布于 2015-03-29 12:37:05
<?php
function urltxt($string)
{
$regex = "/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i"; ///(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
preg_match_all($regex, $string, $matches);
return $matches[0];
}
$url = urltxt($sqlresult);
echo $url[0];
//this way its more easier i guess
?>https://stackoverflow.com/questions/27749380
复制相似问题