|
|
|
ขอความช่วยเหลืออีกรอบในการดึงข้อมูลจาก Text มาเป็น Array ครับ |
|
|
|
|
|
|
|
พอดีว่าผมเขียน Class ในการตรวจสอบ Link โดยผมมีลิงค์ที่อนุญาติให้โพสข้อความได้เก็บอยู่ในไฟล์ url.txt ลองใช้ฟังก์ชั่น
ใช้งานได้ปกติ
$urlAllow = explode("\r\n", file_get_contents('url.txt'));
สามารถดึงข้อมูลออกมาได้ และใช้งานเทียบค่าได้เป็นปกติ ติดที่ทาง Server ผมห้ามใช้ เลยต้องเปลี่ยน
แต่พอลองใช้ Code
ที่ใช้งานแล้วมีปัญหา
$objFopen = fopen("url.txt", 'r');
if ($objFopen) {
while (!feof($objFopen)) {
$file = fgets($objFopen);
$urlAllow[] = $file;
}
fclose($objFopen);
}
มันดึงข้อมูลออกอมาเป็นปกตินะ และ print_r ดูก็มีค่าเหมือนใน Array แต่พอเอามาเทียบกับเกิดปัญหาครับ ไม่ทราบมีวิธีอื่นในการดึง URL จากไฟล์มาใช้มั๊ยครับ หรือช่วยแก้โค๊ดให้ด้วยนะครับ
โค๊ดทั้งหมด
<?
class ChkLink {
function filter($input,$replace){
// $urlAllow = explode("\r\n", file_get_contents('url.txt')); //Link to Allow Post
$objFopen = fopen("url.txt", 'r');
if ($objFopen) {
while (!feof($objFopen)) {
$file = fgets($objFopen);
$urlAllow[] = $file;
}
fclose($objFopen);
}
$input = str_replace("'", '"', $input);
$input = stripslashes($input);
$regex_pattern ="/<a href=\"([^\"]+)\"[^>]*>([^<]*)<\/a>/i";
preg_match_all($regex_pattern,$input,$matches);
$all_url = $matches[1];
foreach( $all_url as $url ) {
$searchUrlAllow = array_search($url, $urlAllow);
if(empty($searchUrlAllow) && $searchUrlAllow !== 0){
$input = str_replace( $url, $replace, $input);
}
}
return $input;
}
}
?>
Tag : PHP, Class Library
|
|
|
|
|
|
Date :
2010-10-14 16:28:03 |
By :
pichitchaip |
View :
1351 |
Reply :
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print_r($urlAllow);
ออกมาดูก่อนครับ จะได้รู้ว่าจะใช้อะไร อาจจะใช้ file ได้ก็ได้นะ เพราะมัน return array
|
|
|
|
|
Date :
2010-10-14 16:53:05 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไฟล์ผมก็ลองแล้ว ออกมาเหมือนกันเลย แต่เทียบแล้วไม่ตรงครับ
มีอันที่เค๊าห้ามใช้เท่านั้นที่ใช้ได้
print_r ออกมา เหมือนกันทุกตัวเลยครับ
แต่พอนำมาใช้ไม่ได้
|
|
|
|
|
Date :
2010-10-14 17:02:56 |
By :
pichitchaip |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาไฟล์ url.txt และก็ไฟล์ที่เขียนมาเล่นดูหน่อยซิ อัปโหลดใส่เว็บฝากไฟล์ก็ได้ แล้วทำไมถึงไม่ให้ใช้ ไม่เข้าใจ
อีกสักพักจะห้าม echo ไหม
|
|
|
|
|
Date :
2010-10-14 17:23:00 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ส่งให้ทางจดหมายแล้วครับ
|
|
|
|
|
Date :
2010-10-14 17:42:30 |
By :
pichitchaip |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
class ChkLink {
function filter($input,$replace){
$urlAllow = file("url.txt",FILE_IGNORE_NEW_LINES);
$input = str_replace("'", '"', $input);
$input = stripslashes($input);
$regex_pattern ="/<a href=\"([^\"]+)\"[^>]*>([^<]*)<\/a>/i";
preg_match_all($regex_pattern,$input,$matches);
$all_url = $matches[1];
foreach( $all_url as $url ) {
if(!in_array($url, $urlAllow)){
$input = str_replace( $url, $replace, $input);
}
}
return $input;
}
}
ทีนี้น่าจะโอเคนะ
|
|
|
|
|
Date :
2010-10-14 18:51:00 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง Test แล้ว มิได้นำพา
มันเกิดจากอะไรกันนะ
|
|
|
|
|
Date :
2010-10-14 19:05:04 |
By :
pichitchaip |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สวัสดีครับ ยินดีต้อนรับเข้าสู่เว็บไซต์ <a href="http://www.google.com">Google Allow DQ</a> และ <a href='http://www.google.com'>Google Allow SQ</a> และอีก 2 อันคือ <a href="http://www.nu.ac.th">NU Dont Allow DQ</a>ลองดูอีกอันนะครับ <a href='http://www.nu.ac.th'>NU Dont Allow SQ</a>
ลองเอาตัวอย่างนี้ทดสอบดูครับ
|
|
|
|
|
Date :
2010-10-14 19:06:15 |
By :
pichitchaip |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เทสแล้ว google ยังอยู่ดีมีสุข ใส่ tarad เข้าไปก็ยังอยู่ดีมมีสุข
|
|
|
|
|
Date :
2010-10-14 19:09:09 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|