请看下面post.htm的代码<form action=ok.php method=post>
相关内容:
<textarea name='content' class=textarea></textarea>
</form>--------ok.php的代码如下<?php
$content=$_POST['content'];
if($content){
//这里插入数据到数据库中
}
?>我想请教的是如果我在上面输入框中输入<object width="400" height="300"><param name="movie" value="http://www.tudou.com/v/cKqMzXVOCTU"></param><param name="allowScriptAccess" value="always"></param><param name="wmode" value="transparent"></param><embed src="http://www.tudou.com/v/cKqMzXVOCTU" type="application/x-shockwave-flash" width="400" height="300" allowFullScreen="true" wmode="transparent" allowScriptAccess="always"></embed></object>或者输入<embed src="http://www.tudou.com/v/cKqMzXVOCTU" type="application/x-shockwave-flash" width="400" height="300" allowFullScreen="true" wmode="transparent" allowScriptAccess="always"></embed>我想获取并写入数据库的值是“http://www.tudou.com/v/cKqMzXVOCTU”,即 src的值,而不是所有输入输入框的代码,请问这个该怎么实现呢?
$content=$_POST['content'];
只能获取所有的输入输入框的代码,而不是我想要的src值,请指导下,谢谢

解决方案 »

  1.   

    preg_match( "/src\=\"(.*?)\"/" , $_POST['content'] , $match ); echo $match[1];if( $match[1] )
    {
      插入数据库
    }
      

  2.   

    楼上的兄弟,好像不行,请看post.htm代码<form   action=ok.php   method=post>
    相关内容:<textarea  name='content'   class=textarea rows=10 cols=30></textarea>
    <input type='submit' value='提交' name='submit'  />
    </form> ok.php代码<?php
    $content=$_POST['content']; 
    preg_match(   "/src\=\"(.*?)\"/"   ,   $_POST['content']   ,   $match   ); 
    echo $match[1];  //这里没有显示
    if(   $match[1]   )

    require_once("conn.php");
       $exec="insert into test (contet) values ('".$_POST['content']."')";
         $result=mysql_query($exec) or die(mysql_errno.'-'.mysql_error());
        echo "<font color='#FF0000'>成功</font>";
        exit();

    ?>提交后,页面是一片空白...
    这个是为什么呢?
      

  3.   

    正则表达式改一下
    preg_match(   "/src\=\"([^\"]*)\"/"   ,   $_POST['content']   ,   $match   );  print_r($match);看看有没有你想要的值
      

  4.   

    这个也试试看
    preg_match(       "/src\=\"([^\"]*)\"/ig"       ,       $_POST['content']       ,       $match       );    print_r($match); 
      

  5.   

    还是不对,用preg_match("/src\=\"([^\"]*)\"/",$_POST['content'],$match);preg_match("/src\=\"(.*?)\"/",$_POST['content'],$match); 这两个正值表达式,提交后,显示结果是Array ( )  
    用preg_match("/src\=\"([^\"]*)\"/ig",$_POST['content'] ,$match);    这个表达式,提示错误Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in E:\testok.php on line 5   如果把g去掉,则显示Array ( )请问还有其他办法吗?
      

  6.   

    首先你确认自己的值传过去了吗我写的应该没问题,是测试过才给你的<?php
         $str = '<object   width="400"   height="300"> <param   name="movie"   value="http://www.tudou.com/v/cKqMzXVOCTU"> </param> <param   name="allowScriptAccess"   value="always"> </param> <param   name="wmode"   value="transparent"> </param> <embed   src="http://www.tudou.com/v/cKqMzXVOCTU"   type="application/x-shockwave-flash"   width="400"   height="300"   allowFullScreen="true"   wmode="transparent"   allowScriptAccess="always"> </embed> </object>';     preg_match(   "/src\=\"(.*?)\"/"   ,   $str   ,   $match   );       echo   $match[1];
    ?>
      

  7.   

    试试这个
    $str="XXXXX"
    preg_match("/src=\"(.*?)\"/is", $str,$match ); preg_match("/src=(.*?)( | ) /is", $str,$match );     echo   $match[1]; 
      

  8.   


    preg_match("/src=(.*?) /is", $str,$match);