PDA

View Full Version : سوال: چگونه خاصیت alt به تصاویر اضافه کنیم؟ (داینامیک)



pirmard66
جمعه 19 مهر 1392, 01:09 صبح
سلام خدمت اساتید و دوستان بزرگوار

میخوام به یه متن html و به تگ های img موجود در اون خاصیت alt اضافه کنم.

چگونه میتونم با php این کار رو انجام بدم ؟

من از ckeditor استفاده میکنم و به همین علت هست که میخوام به متن html که از ck دریافت میکنم به تصاویر موجود در اون خاصیت alt اضافه کنم.

البته میشه داخل ck اینکارو کرد ولی برای هر عکس که میذاریم جدا....

برای راحتی کار میخوام اینکارو بکنم.

لطفا منو راهنمایی کنید.

با تشکر فراوان

one hacker alone
جمعه 19 مهر 1392, 01:32 صبح
با سلام
خب شما اون قسمت از خاصیت رو متغییر تنظیم کنید alt=$value حالا مونده از دیتابیس بگیرین یا هرجای دیگه
من با ck کار نکردم اما خب خودتون میتونید براش بنویسید من بیشتر نمیتونم توضیح بدم چون ساختار پروژه ی شما رو نمیدونم اگه نیاز به توضیح بیشتری بود بحث رو باز تر کنید که بشه راهنمایی کرد

pirmard66
جمعه 19 مهر 1392, 09:34 صبح
دوست من...

اصلا ck رو بی خیال

ما یه متن html داریم. و نمیدونیم چی توش هست.

مثلا یه متغیر داریم به نام matlab

میخواهیم هرچی img داخل matlab هست را بهش alt و titlt اضافه کنیم.

MMSHFE
جمعه 19 مهر 1392, 09:56 صبح
$html = <<<EOT
<img src="test.jpg" />
<a href="1.php" target="_blank">First Script</a>
<img src="test2.jpg" />
<a href="2.php" target="_blank">Second Script</a>

EOT;

$html = preg_replace('#<img(.*?)src=([^>]*?)>#i', '<img alt="test" title="test"$1src=$2>', $html);

echo htmlentities($html);
/* output:
<img alt="test" title="test" src="test.jpg" />
<a href="1.php" target="_blank">First Script</a>
<img alt="test" title="test" src="test2.jpg" />
<a href="2.php" target="_blank">Second Script</a>
*/

pirmard66
جمعه 19 مهر 1392, 11:14 صبح
با تشکر از شما دوست و استاد محترم.

میشه درباره اش توضیح بدید؟

مثلا # برا چیه ؟

اون علامت های ([^>]*?) ؟؟؟

MMSHFE
جمعه 19 مهر 1392, 11:29 صبح
درباره RegEx زیاد توی تالار صحبت شده. تاپیک آموزشش رو هم فکر کنم آقای قربانی ایجاد کردن. جستجو کنید، راحت پیدا میشه.

AliRezaPro
جمعه 19 مهر 1392, 13:57 عصر
اگر با رجکش مشکل دارید این کار با jquery به راحتی قابل انجام است . در مورد attribute در jquery جستحو بفرمایید

pirmard66
جمعه 19 مهر 1392, 14:05 عصر
ممنون مشکل حل شد با کد آقای شهرکی

MMSHFE
جمعه 19 مهر 1392, 23:32 عصر
یکی از مهمترین مصارف alt و title در مباحث SEO هست و crawler موتورهای جستجو هم کد سمت کلاینت رو اجرا نمیکنه. بنابراین همون سمت سرور باید یه فکری کنیم.

Taimaz_222
شنبه 20 مهر 1392, 00:02 صبح
سلام به دوستان .

این خط کدی که دوستمون نوشتند یعنی چی؟



$html = <<<EOT

MMSHFE
شنبه 20 مهر 1392, 10:06 صبح
ساختار HereDoc هست. بجای اینکه سطر به سطر بنویسیم، یک Delimiter با >>> مشخص میکنیم و کل متن رو مینویسیم و در انتها، توی یک سطر خالی، Delimiter مشخص شده رو مینویسیم و ; میگذاریم.

Taimaz_222
شنبه 20 مهر 1392, 13:51 عصر
میشه یه کم از کاربردش بگید ؟

و البته با توضیح بیشتر :)

با تشکر

MMSHFE
شنبه 20 مهر 1392, 18:40 عصر
کاربردش راحتی بیشتر در تایپ و افزایش خوانایی کد هست. توضیح بیشتر هم توی اینترنت خیلی زیاده. کافیه درمورد HereDoc جستجو کنید. هیچ پیچیدگی خاصی نداره و ساختارش به همون شکلیه که توی مثال دیدین. توضیحش رو هم که گفتم. کجاش رو متوجه نشدین؟

Taimaz_222
شنبه 20 مهر 1392, 23:32 عصر
$html = <<<EOT
<img src="test.jpg" />
<a href="1.php" target="_blank">First Script</a>
<img src="test2.jpg" />
<a href="2.php" target="_blank">Second Script</a>

EOT;

$html = preg_replace('#<img(.*?)src=([^>]*?)>#i', '<img alt="test" title="test"$1src=$2>', $html);

echo htmlentities($html);
/* output:
<img alt="test" title="test" src="test.jpg" />
<a href="1.php" target="_blank">First Script</a>
<img alt="test" title="test" src="test2.jpg" />
<a href="2.php" target="_blank">Second Script</a>
*/


منظور از سطر به سطر نوشتن خلاصه نویسیه ؟؟؟

اما اینجا که چیزی خلاصه نیست !

ببینید خط دوم تا پنجم که تگ های Html اند که تکرار شدند و خط بعد EOT فراخوانی شده !

اینجا که تغییر مهمی ایجاد نشده ! یا من اشتباه متوجه شدم !

باتشکر

MMSHFE
شنبه 20 مهر 1392, 23:39 عصر
اینو ببینید:


$html = '<a href="test.php">Test Page</a>' . PHP_EOL;
$html .= '<br />' . PHP_EOL;
$html .= '<p>This is a test paragraph.</p>' . PHP_EOL;
$html .= 'The value of X is ' . $x . '.<br />' . PHP_EOL;

$html = <<<EOT
<a href="test.php">Test Page</a>
<br />
<p>This is a test paragraph.</p>
The value of X is {$x}.<br />
EOT;
کدوم خلاصه تره و نوشتنش راحتتره؟

Taimaz_222
شنبه 20 مهر 1392, 23:57 عصر
ممنون حالا کامل متوجه شدم.