Rumah pembangunan bahagian belakang tutorial php PHP远程获取网页内容

PHP远程获取网页内容

Jul 29, 2016 am 09:11 AM
function quot regex return title

1.截取php类文件 主要包括 获取url的html内容 然后从html内容中进行正则表达式匹配

	include 'StringBuilder.php';
	class CutPage{
		function __construct(){
		}
		
		//方法一:连接 获取真个文件的文本内容
		function getAllContent($url){
			$resouce=fopen($url, "r") or die("文件打开失败!");
			if(!$resouce){
				echo "请求文件不存在!";
			}
			//$allc//长度太短了取不全用自购建的stringbuilder
			$sb=new StringBuilder();
			
			while(!feof($resouce)){
				//如果没有到文件的结尾则继续向下执行
				$line=fgets($resouce,4096);
				$sb->append($line);
			}
			fclose($resouce);
			return $sb->toString();
		}
		//方法二:获取所有的文本进行文本title的匹配---------格式为:xxxx(xx)xxx的形式表达式	
		function matchContentTitle($content,$regex_title){
			//echo "regex:".$regex_title;
			if(preg_match($regex_title, $content)){
				$array=preg_split($regex_title, $content,-1,PREG_SPLIT_DELIM_CAPTURE);
				return  $array[1];
			}else{
				echo "匹配失败!";
			}
		}
		//匹配章节 返回携带章节的array
		function matchContentChapter($content,$regex_chapter){
			if(preg_match_all($regex_chapter, $content,$matcher)){
				return $matcher[1];
			}else{
				echo "匹配失败!";
				return ;
			}
		}
		
	}
Salin selepas log masuk

测试php文件

	include 'CutPage.php';
	class Test{
		public	static function  start($url,$regex_title,$regex_chapter){
				$cut=new CutPage();
				$all=$cut->getAllContent($url);
				$returnTitle=$cut->matchContentTitle($all, $regex_title);
				echo "题目:".$returnTitle;
				$arrays=$cut->matchContentChapter($all, $regex_chapter);	
				for($i=0;$i<count echo>正则表达式
	$regex_title="/\s*[[(\S+)[[\s*/";
		
	$regex_chapter="/\s*[](\W+)[\s*/";//章
		
	Test::start($url, $regex_title, $regex_chapter);
	//echo "cut".$return;
	//匹配汉字的<strong>正则表达式</strong>^[\u4E00-\u9FA5]+
		
</count>
Salin selepas log masuk
这里构建了一个类似JAVA中的一个StringBuilder类
class StringBuilder
{
    const LINE="<br>";
    protected $list= array('');

    
    public function __construct( $str=NULL)
    {
        array_push($this->list,$str);
    
    }
    
    public function append($str)
    {
        array_push($this->list,$str);
        return $this;
    }

    public function appendLine($str)
    {
        array_push($this->list,$str.self::LINE);
        return $this;
    }

    public function appendFormat( $str,mixed $args)
    {
        array_push($this->list, sprintf($str,$args));
        return $this;
    }

    public function toString()
    {
        return implode("",$this->list);
    }

    public function __destruct()
    {
        unset($this->list);
    }
} 
 
Salin selepas log masuk

以上就介绍了PHP远程获取网页内容,包括了正则表达式方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penjelasan terperinci tentang penggunaan pulangan dalam bahasa C Penjelasan terperinci tentang penggunaan pulangan dalam bahasa C Oct 07, 2023 am 10:58 AM

Penggunaan pulangan dalam bahasa C ialah: 1. Untuk fungsi yang jenis nilai pulangannya adalah batal, anda boleh menggunakan pernyataan pulangan untuk menamatkan pelaksanaan fungsi lebih awal 2. Untuk fungsi yang jenis nilai pulangannya tidak batal, fungsi bagi penyataan pulangan adalah untuk menamatkan pelaksanaan fungsi Hasilnya dikembalikan kepada pemanggil 3. Menamatkan pelaksanaan fungsi lebih awal, kita boleh menggunakan penyataan pulangan untuk menamatkan pelaksanaan fungsi lebih awal jika fungsi tidak mengembalikan nilai.

Apakah maksud fungsi? Apakah maksud fungsi? Aug 04, 2023 am 10:33 AM

Fungsi bermaksud fungsi. Ia adalah blok kod yang boleh digunakan semula dengan fungsi tertentu Ia boleh menerima parameter input, melakukan operasi tertentu, dan mengembalikan hasil daripada blok yang boleh digunakan semula. kod untuk meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod.

Apakah perintah pelaksanaan pemulangan dan akhirnya pernyataan di Jawa? Apakah perintah pelaksanaan pemulangan dan akhirnya pernyataan di Jawa? Apr 25, 2023 pm 07:55 PM

Kod sumber: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}akhirnya{x=3;}}}# Output Output kod di atas hanya boleh membuat kesimpulan: return dilaksanakan sebelum akhirnya. Mari kita lihat apa yang berlaku pada tahap bytecode. Yang berikut memintas sebahagian kod bait kaedah case1 dan membandingkan kod sumber untuk menganotasi maksud setiap arahan dalam

apa maksud tajuk apa maksud tajuk Aug 04, 2023 am 11:18 AM

Tajuk ialah makna yang mentakrifkan tajuk halaman web Ia terletak dalam teg dan teks yang dipaparkan dalam bar tajuk pelayar adalah sangat penting untuk pengoptimuman enjin carian dan pengalaman pengguna halaman web. Apabila menulis halaman web HTML, anda harus memberi perhatian kepada menggunakan kata kunci yang berkaitan dan penerangan yang menarik untuk menentukan elemen tajuk untuk menarik lebih ramai pengguna mengklik dan menyemak imbas.

Apakah tujuan fungsi 'enumerate()' dalam Python? Apakah tujuan fungsi 'enumerate()' dalam Python? Sep 01, 2023 am 11:29 AM

Dalam artikel ini, kita akan belajar tentang fungsi enumerate() dan tujuan fungsi "enumerate()" dalam Python. Apakah fungsi enumerate()? Fungsi enumerate() Python menerima pengumpulan data sebagai parameter dan mengembalikan objek penghitungan. Objek penghitungan dikembalikan sebagai pasangan nilai kunci. Kuncinya ialah indeks yang sepadan dengan setiap item, dan nilainya ialah item. Syntax enumerate(iterable,start) Parameters iterable - Yang diluluskan dalam pengumpulan data boleh dikembalikan sebagai objek enumeration, dipanggil iterablestart - Seperti namanya, indeks permulaan objek enumeration ditakrifkan oleh permulaan. kalau kita abaikan

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Penjelasan terperinci tentang peranan dan fungsi jadual MySQL.proc Penjelasan terperinci tentang peranan dan fungsi jadual MySQL.proc Mar 16, 2024 am 09:03 AM

Penjelasan terperinci tentang peranan dan fungsi jadual MySQL.proc ialah sistem pengurusan pangkalan data relasi yang popular Apabila pembangun menggunakan MySQL, mereka sering melibatkan penciptaan dan pengurusan prosedur tersimpan (StoredProcedure). Jadual MySQL.proc ialah jadual sistem yang sangat penting Ia menyimpan maklumat yang berkaitan dengan semua prosedur tersimpan dalam pangkalan data, termasuk nama, definisi, parameter, dsb. prosedur tersimpan. Dalam artikel ini, kami akan menerangkan secara terperinci peranan dan kefungsian jadual MySQL.proc

Apakah maksud tajuk dalam HTML Apakah maksud tajuk dalam HTML Mar 06, 2024 am 09:53 AM

Tajuk dalam HTML memaparkan teg tajuk halaman web, yang membolehkan penonton mengetahui perkara utama halaman semasa, jadi setiap halaman web harus mempunyai tajuk yang berasingan.

See all articles