Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中提取文本后如何更改文本?_Php_Mysql_Regex_Text - Fatal编程技术网

在PHP中提取文本后如何更改文本?

在PHP中提取文本后如何更改文本?,php,mysql,regex,text,Php,Mysql,Regex,Text,我正在我的网站上提取数据,我想改变我真正想要的文本。我将网站链接存储在MYSQL数据库中,在那里我可以用PHP输出链接,我使用PHPDOM提取数据。我提取了我在德克萨斯理工学院“现场”获得的“大学足球”德克萨斯基督徒的文本,使用以下代码: <?php define('DB_HOST', 'localhost'); define('DB_USER', 'myusername'); define('DB_PASSWORD', 'mypassword'); define('DB_

我正在我的网站上提取数据,我想改变我真正想要的文本。我将网站链接存储在MYSQL数据库中,在那里我可以用PHP输出链接,我使用PHPDOM提取数据。我提取了我在德克萨斯理工学院“现场”获得的“大学足球”德克萨斯基督徒的文本,使用以下代码:

<?php
  define('DB_HOST', 'localhost');
  define('DB_USER', 'myusername');
  define('DB_PASSWORD', 'mypassword');
  define('DB_DATABASE', 'mydbname');

  $errmsg_arr = array();
  $errflag = false;
  $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

  if(!$link) 
  {
    die('Failed to connect to server: ' . mysql_error());
  }

  $db = mysql_select_db(DB_DATABASE);
  if(!$db) 
  {
    die("Unable to select database");
  }

  function clean($var)
  {
    return mysql_real_escape_string(strip_tags($var));
  }
  $channels = clean($_GET['channels']);
  $id = clean($_GET['id']);

  if($errflag) 
  {
    $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
    echo implode('<br />',$errmsg_arr);
  }
  else 
  {
    $insert = array();

    if(isset($_GET['channels'])) 
    {
      $insert[] = 'channels = \'' . clean($_GET['channels']) .'\'';
    }
    if(isset($_GET['id'])) 
    {
      $insert[] = 'id = \'' . clean($_GET['id']) . '\'';
    }


    if($channels && $id) 
    {
      $qrytable1="SELECT id, channels, links FROM tvguide WHERE channels='$channels' && id='$id'";
      $result1=mysql_query($qrytable1) or die('Error:<br />' . $qry . '<br />' . mysql_error());

      while ($row = mysql_fetch_array($result1))
      {
        $links = $row['links'];
        include ('simple_html_dom.php');
        $html = file_get_html($links);
        $title1 = $html->find('a[id=rowTitle1]', 0); // with this
        echo $html->find('li[id=row1-3]', 0)->plaintext;
        echo "<BR></BR>";
      }
      mysql_close($link);
    }
  }
?>
执行以下操作:

$test ='                        7:30 PM                              College Football                                              LIVE                          <BR></BR>';
//remove time hh:mm
$output = preg_replace('/\d:\d+/', '', $test);
$output = '<span id="title1">'.str_replace(array("\t", '   ', '<BR>','</BR>', 'AM','PM'), '', $output).'</span><br><br>';
$output = str_replace(' LIVE', '- LIVE', $output);

echo $output;
$test='7:30pm大学足球直播

'; //移除时间hh:mm $output=preg_replace('/\d:\d+/','.$test); $output=''.str_替换(数组(“\t”、'
'、'
'、'AM'、'PM')、'$output)。'

'; $output=str_replace('LIVE','-LIVE',$output); echo$输出;
大学足球“德克萨斯理工大学的德克萨斯基督徒”-现场直播

它不仅在视觉上是“干净的”,而且在生成的HTML中也是“干净的”(但空白对读者来说并不重要,只是为了美化——事实上,读者应该忽略空白)

大学足球“德克萨斯理工大学的德克萨斯基督徒”-现场


更新了答案。如果时间总是在
hh:mm
,那就应该是它了(并且以后不需要删除剩余的
),感谢这一点,我如何摆脱包含的文本,我想把它从“'”改为“:”,并且我想把另一个文本从“LIVE”改为“-LIVE”。我怎样才能用你的代码做到这一点?是的,你发布的代码几乎完成了。包含的文本是在德克萨斯理工大学“现场”上显示“大学足球”德克萨斯基督徒。我想将“”中的包含文本替换为“:”,并将“LIVE”中的其他文本替换为“-LIVE”,使其像这样显示“大学足球:德克萨斯理工大学的德克萨斯基督徒-LIVE”。一个想法?最后一次更新。我认为这是非常明显的,不是苛刻的:)
                        7:30 PM                              College Football                                              "Texas Christian at Texas Tech"                                                                                LIVE                          <BR></BR>
<span id='title1'>College Football: Texas Christian at Texas Tech - LIVE</span><br></br>
$test ='                        7:30 PM                              College Football                                              LIVE                          <BR></BR>';
//remove time hh:mm
$output = preg_replace('/\d:\d+/', '', $test);
$output = '<span id="title1">'.str_replace(array("\t", '   ', '<BR>','</BR>', 'AM','PM'), '', $output).'</span><br><br>';
$output = str_replace(' LIVE', '- LIVE', $output);

echo $output;
<span id="title1"> College Football "Texas Christian at Texas Tech" - LIVE  </span><br><br>