私は自分のウェブサイトでデータを抽出する作業を行っており、実際に必要なテキストを変更したいと考えています。PHPでリンクを出力できるMYSQLデータベースにWebサイトのリンクを保存し、PHP DOMを使用してデータを抽出しています。このコードを使用して、「College Football "Texas Christian at Texas Tech" LIVE」を取得したテキストを抽出しました。
<?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);
}
}
?>
抽出後の HTML ソースは次のとおりです。
7:30 PM College Football "Texas Christian at Texas Tech" LIVE <BR></BR>
HTML ソースには、削除したい長いスペースがあり、AM と PM を含む時間も無視したいことがわかります。
これからHTMLソースを変更したい:
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>
現在のコードを使用して必要なテキストを変更する方法を教えてください。