从javascript字符串中提取href

时间:2015-10-18 05:29:51

标签: php string

PHP中的函数在字符串

中返回js snippet
java.util.logging.FileHandler.pattern=/var/log/jira

我想从上面的字符串

中提取href
<script type="text/javascript"> 
function gformRedirect()
{
  document.location.href='https://plamsn.web/fr/demande-de-pret?montant=400%24&email=jon%40doe.com';
}
</script>

我尝试了以下

https://plamsn.web/fr/demande-de-pret?montant=400%24&email=jon%40doe.com

这似乎给出了一些问题,我不确定这是否应该如何,任何关于如何去做的指针将不胜感激。

谢谢,

4 个答案:

答案 0 :(得分:1)

如果字符串中有任何更改,请记住更改开始位置。

<?php
$url='<script type="text/javascript"> function gformRedirect(){document.location.href="https://plamsn.web/fr/demande-de-pret?montant=400%24&email=jon%40doe.com";}</script>';

$url=substr($url,81,strlen($url));
$url=rtrim($url,'";}</script>');
echo $url;
?>

答案 1 :(得分:1)

试试这个:

$url = "<script type=''text/javascript'> function gformRedirect(){document.location.href='https://plamsn.web/fr/demande-de-pret?montant=400%24&email=jon%40doe.com';}</script>";

$first_step = explode( 'document.location.href=' , $url );
$second_step = explode(";}" , $first_step[1] );
echo $second_step[0];

答案 2 :(得分:1)

使用正则表达式的解决方案

7552

答案 3 :(得分:0)

add_filter( 'gform_confirmation', function ( $confirmation, $form, $entry, $ajax ) {
GFCommon::log_debug( __METHOD__ . '(): running.' );
if ( isset($form['confirmation']['type']) && isset($form['confirmation']['url']) && $form['confirmation']['type']="redirect" && $form['confirmation']['url']!="" && $form['id'] == 3) {
    $url          = esc_url_raw( $form['confirmation']['url'] );
    GFCommon::log_debug( __METHOD__ . '(): Redirect to URL: ' . $url );
    $confirmation = 'Thanks for contacting us! We will get in touch with you shortly.';
    $confirmation .= "<script>window.open('".$url."', '_blank');</script>";
}

return $confirmation;
}, 10, 4 );