我正在创建一个链接,在特定文本区域(我粘贴链接的位置)的 bind() 事件上共享它,它会执行一个$.post
带有预览的 ajax 回调(如果是 youtube 或 vimeo 链接)。基本上,每次检测到链接并获得预览时,我都会将链接删除到 textarea 中。
这是执行回调的函数:
$('#writer').bind('change keypress keyup keydown',function() {
var value_= $('#writer').val();
$('#thumb-temp').hide();
$.post( 'checklink.php?', { string : value_ },
function(response) {
$('.writer').prepend(response);
$('#thumb-temp').show();
}).fail(function() { alert( "error" ) })
});
以及应该删除链接的页面checklink.php
<?
$link = $_POST['string'];
$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
preg_match($reg_exUrl, $link, $url);
$link = $url[0];
?>
<script>clearTextarea('<? echo $link ?>')</script>
最后是 clearTextarea() 函数
function clearTextarea(url) {
var _textarea = $('#writer');
var _curVal = _textarea.val();
var _curUrl = url;
var _regex = new RegExp( _curUrl , 'g' );
var _newVal = _curVal.replace( _regex , '' );
_textarea.val( _newVal );
}
现在,显然,这应该有效,但没有任何反应,有什么想法吗?我不明白我错在哪里:(