کار با تایتل صفحه و تکست باکس

aminbrlee

Member
با عرض سلام وخسته نباشید خدمت همه دوستان
من دو سوال دارم که بسیار برام مهمه
1: همون طور که در کد زیر می بینین با دستور echo یک مقدار برای تایتل صفحه گذاشته ایم و تا اینتجا کد هیچ مشکلی نداره سوال من اینجاست که چطور میشه در جایی که نقطه چین کشیدم ....................... خط کدی قرار داد که مقدار تایتل برنامه رو وارد یک متغیر کنه
2: سوال بعدی اینه که اگه دقت کنین من یه تکست خارج از کد php دارم آیا کدی وجود داره که من بتونم تکست باکس رو در کد php تولید کنم
3:لطفا کد زیر رو طوری برام تغییر بدین که من مقدار تایتل صفحم رو در تکست باکس ببینم

کد:
<?php

echo "<title> Salam </title>";
.........................
?>
<input id="Text1" type="text" />

می دونم سوال راحتیه واسه شما ولی خوب فعلا که 2 روزه وقته منو گرفته
با تشکر فراوان
 

sharktech

کاربر فعال
البته قرار شده کد حاضری نذاریم اما این به خودت برمیگرده, اگه بخوای یاد بگیری, باید بتونی کدی رو گذاشتم رو با کد خودت مقایسه کنی تا یاد بگیری.

PHP:
<?php
$title = 'salam';
echo '<title>',$title,'</title>';
echo '<input id="Text1" type="text"  value="',$title,'"/>';
?>
 

aminbrlee

Member
آقا با تشکر از شما ولی جواب اصلیمو من نگرفتم
من می خوام مقدار تایتل صفحه رو بگیره مثلا در کد بالا که شما گذاشتین کدی بزارم که مثلا مقدار تایتل رو بدون استفاده از متغیر $title در متغیری دیگه مثلا با نام $mytitle ذخیره کنه ما فرضمان بر اینه که مقدار تایتل از قبل تعیین شده
PHP:
<?php
$title = 'salam';
echo '<title>',$title,'</title>';
echo '<input id="Text1" type="text"  value="',$title,'"/>';
************************************
?>
اصلا شما فرض کنید کد زیرو دارم که تایتل صفحه به وسیله html تعریف شده در قسمتی که ستاره داره یعنی درون php چه کدی بنویسم که تاتل رو برام نمایش بده

PHP:
<title>salam khubin</title>
<?php
//inja   che   code  benevisam  ke   meghdare   title  ro da ye  motaghayer  zakhire kone?
//$mytitle= inja  chi  benevisam
?>

آقا خواهش دیگه یهتر از این نمیتونم منظورمو بگم خواهش میکنم کمک کنید
با تشکر
 
آخرین ویرایش:

sharktech

کاربر فعال
من تونستم اینو بنویسم, اما باید آدرس صفحه مورد نظرتو بهش بدی.

PHP:
<?php

$html = file_get_contents('http://www.site.com/index.php');

if(preg_match('/<title>(.*)<\/title>/smU', $html, $matches)) {

$title = $matches[1];

echo $title;

}
?>
 

mosi20

Active Member
برای توضیح بهتر شما در مورد ob_start بروی مطالعه کن
این کاری که شما میخواهید انجام بدید را در یک صفحه با ob_start انجام میدند
یه نفر به اسم سالار کابلی یه کد قبلا نوشته بود تحت عنوان سانسور و بگرد پیداش کن.
 

aminbrlee

Member
آقا ممنون از کدی که شما دادین ولی من می خوام تایتل همون صفحه که توش هستیم رو به ما بده
 

Masoud1365

مدیر انجمن
اگر تایتل هات مشخص است باید کد صفحه رو به صورت رشته بگیری و با استفاده از عبارات منظم تایتل رو جدا کنی و بریزی داخل یه متغیر .
در زمینه عبارات منظم جست و جو کنید.

موفق باشید.
 

aminbrlee

Member
آقا من کاملا جستجو کردم ولی چیزی که می خوام رو پیدا نکردم دیگه فکر نکنم روشن تر از اون بتونم توضیح بدم
بله تاتل من مشخصه حالا میتونین بگید که من چجوری میتونم تایتل رو در که یه رشته هست بزارم تو یه متغیر قرار بدم
مثلا در کد زیر من چه چوری تایتل رو در یک متغیر به صورت رشته قرار بدم
ممنون میشم همین جا جواب بدین تو این فروم که هیچی همه جا رو گشتم چیزی پیدا نکردم

PHP:
<title>salam khubin</title> 
<?php 
//inja   che   code  benevisam  ke   meghdare   title  ro da ye  motaghayer  zakhire kone? 
//$mytitle= inja  chi  benevisam 
?>
 

eAmin

Well-Known Member
سلام.

اگر به توصیه ی دوستمون توجه می کردید، و کمی در باره ob_start جستجو می کردید، تا حالا به جوابتون رسیده بودید!
شما این لینک رو نگاه کن دقیقا متوجه می شید، و به لینکی هم که دوستمون آقا پیمان در لینک زیر دادند برید:

http://forum.majidonline.com/showpost.php?p=849003&postcount=3
 

mosi20

Active Member
PHP:
<?
/************************************************** **
* Sallar Kaboli
* (C) 2005 All rights reserved
* [email protected]
************************************************** */
error_reporting(E_ALL);
$find = array(
/*1*/ "Sallar",
/*2*/ "Ahmad",
/*3*/ "Pedram"
);
$replace = array(
/*1*/ "Kaboli",
/*2*/ "Esmaiil Zadeh",
/*3*/ "Azimaei"
);
// *******************************************
// Function
// *******************************************
function censor($buffer){
global $find, $replace;
return str_replace($find, $replace, $buffer);
}
ob_start("censor");
?>

<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" lang="fa">

Hello, World! Sallar

</html>
<?

ob_end_flush();
?>
 
آخرین ویرایش:

aminbrlee

Member
آقا من اونو هم مطالعه کردم ولی متاصفانه مثل اینکه من منظورمو باید بهتر می گفتم
تاتل من مشخصه حالا میتونین بگید که من چجوری میتونم تایتل رو در که یه رشته هست بزارم تو یه متغیر قرار بدم
مثلا در کد زیر من چه چوری تایتل رو در یک متغیر به صورت رشته قرار بدم
ممنون میشم همین جا جواب بدین تو این فروم که هیچی همه جا رو گشتم چیزی پیدا نکردم
آقا mosi20 من کد شمارو چک کردم پس از اجرا 3 کلمه رو صفحه نشون میده ولی اون صفحه اصلا تایتل نداره
خواهش می کنم کد زیر رو برام درست کنید اگه دقت کنید این فایل دارای یه تایتل با متن salam khubin هست حالا می خوام وقتی میره تو کد php پایینش این مقدار وارد یک متغیر بشه
ممنون میشم

PHP:
<title>salam khubin</title>  
<?php  
//inja   che   code  benevisam  ke   meghdare   title  ro da ye  motaghayer  zakhire kone?  
//$mytitle= inja  chi  benevisam  
?>
 

sharktech

کاربر فعال
اینو توی نت جستجو کن به نتیجه میرسی :

کد:
get page title with php

راستش خودم تو یه چیزی گیر کردم, اگه وقت کردم بهت جواب میدم.

فقط اینو بگم که برای گرفتن تیتر صفحه, باید کدش رو در یک صفحه دیگه بزاری و از طریق کد js و آژاکس بدست بیاری و به صفحه ای که توش هستی انتقال بدی.

موفق باشید
 

eAmin

Well-Known Member
من منظور شما رو همون اول فهمیدم، برای همین شما رو به اونجا راهنمایی کردم، نهایتا باید می تونستید، مشکلتون رو حل کنید.
درهر حال این هم همون چیز هست که شما می خواید:
PHP:
<?php
    ob_start();              // start output buffer 1
?>
<title>eAmin</title>
<?php
	$s1 = ob_get_contents(); // read ob2 ("b")
    ob_end_flush();          // flush ob2 to ob1
	$title = preg_replace("/<title>(.*?)<\/title>/", "$1", $s1);
    echo $title;
?>
 

aminbrlee

Member
با تشکر از شما
نه این کد هم مشکل منو حل نمی کنه چون در بیشتر مواقع تایتل برنامه قبل از ob_start(); قرار میگیره که باعث میشه مقدارش در اون بافر قرار نگیره

PHP:
<title>eAmin</title> 
<?php 

    ob_start();              // start output buffer 1 
?> 

<?php 
    $s1 = ob_get_contents(); // read ob2 ("b") 
    ob_end_flush();          // flush ob2 to ob1 
    $title = preg_replace("/<title>(.*?)<\/title>/", "$1", $s1); 
    echo $title; 
?>

حالا ببینین شما یه کاری بکنبن برام کلا بیخیال اون بشین به سوال پایین جواب بدین
فقط این سوال رو خواهشا جواب بدین و بحثی رو سوال بالام نداشته باشین بعدا هم علت نزدن تاپیک جدید رو میگم

فرض کنین فایل php داریم که در اون هم کد php هست و هم کد java script
به کد زیر توجه کنید اگه دقت کنید در بالای کد یه کد جاوا اسکریپت هست که یه متغیر به اسم x داره این x برامون نمایش میده
حالا می خوام به من بگین که چجوری مقدار این متغیر رو در تیکه کد php زیرش در یه متغیر دیگه قرار داد
PHP:
<script language="javascript" type="text/javascript">
var x=12

 document.write ( x )

</script>

<?php
$data=......... inja   chi  benevisam  ke  meghdare x  dar  bala   tu in  motaghayer  gharar  begire
ya  age  momkene   kolan  ino  baram  dorost  konin
?>
 

mosi20

Active Member
فدای شکل ماهت بشم آخه این کار که نشدنی هست
یکیشون طرف سرور هست و یکی دیگه طرف کلاینت!
تنها راهی که میتونی از کلاینت با سرور ارتباط برقرار کنی استفاده از آژاکس هست.
 

aminbrlee

Member
آقا من نمی فهمم فرض کنین که ما یه تکست داریم که مقدار توشه آیا نمیشه مقدار اونو بگیریم
فرض کنین که ما یه تکست داریم که مقدار 2 توشه من یه کد پی اچ پی می خوام که مقدار اونو بگیره و با 2 جمعش کنه و دوباره مقدار 4 رو جیگزین کنه
آیا این امکان نداره؟؟؟؟؟؟؟؟؟؟؟؟؟ فکر کنم شدنی باشه
 

mosi20

Active Member
نه عزیز دل.
چنین کاری را در ۱ مرتبه نمیشه انجام داد.
باید یک بار صفحت کامل باز بشه و بعدش با آژاکس اطلاعاتی که میخواهی را از کد html صفحت بگیری و برای یک فایل php بفرستی و پاسخی که از فایل php میگیری را در صفحه ی html ت نشون بدی.
 

aminbrlee

Member
با سلام
مرسی از پاسخ شما ولی سوال آخرم. می پرسم
فرض کنید رو همین صفحه کلیک راست کردیم و View Source زدیم آیا من با پی اچ پی بعد از لود کامل سایت همچین امکانی رو دارم که این کد رو من در یک متغیر ذخیره کنم و بعدش هر مقداری که می خوام رو از این کد درارم
ممنون میشم
 

mosi20

Active Member
دوست من به خدا قسم به فارسی گفتم.
php اصلا میدونی کجا اجرا میشه؟
روی سرور
کاربر کجا هست؟
روی کلاینت
حالا شما تنها راهی که میتونی بین کلاینت و سرور ارتباط برقرار کنی با کد جاوااسکریپت هست که بهش آژاکس میگن.
آژاکس چی هست؟
http://daniel.lorch.cc/docs/ajax_simple/
http://www.w3schools.com/PHP/php_ajax_database.asp
اینا مثال بودن
===============
اگر کلا میخواهی با php کدهای html یکی صفحه ی اینترنتی را پیدا کنی میتونی از fopen , curl , ...استفاده کنی.
اینم نمونه ی کد curl
PHP:
<?php

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://example.com');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);

if (empty($buffer))
{
    print "Sorry, example.com are a bunch of poopy-heads.<p>";
}
else
{
    print $buffer;
}
?>
دیگه اگر اینا منظورت نبود کل کارت را بده من برات انجام میدم و بهت میدم که بهت فشار نیاد
 

جدیدترین ارسال ها

بالا