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