الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعديل النص على صفحة php دينامكيا

بدأه Ph-RevIng في 1 أغسطس 2012 · 10 رد · 1,571 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله ومبروك هدا الشهر الكريم،،

عندي تساؤل حول امكانية تعديل محتوى صفحة PHP

متلا لديك مشروع موقع لاحد الشركات وطلب منك الزبون ان تتيح له امكانية تعديل النص على الصفحات

تعديل جملة او كلمة او اضافة رابط لكلمة معينية او تغير لون سطر او جملة معينة ..... الخ ، بمعنى تعديل النص بشكل عام

كيف يمكنني عمل هدا الامر بالـPHP ؟

#2

تعديل محتوى الصفحة شيئ وتعديل ملفات النظام شيء آخر مختلف تماما

أنت تحتاج إلى عمليه تعديل محتوى الصفحة ويتم تخزين النتائج في قاعدة البيانات واسترجاعها في حال طلبها زائر الموقع

إذا كان الأمر كذلك فهناك دورة مثبته في هذا القسم تحتوي على جواب تساؤلك وأيضا هناك عشرات المواضيع التي تتحدث عن هذا الموضوع

اما إذا كان ماتريده هو تعديل ملفات النظام كملفات نصيه فهذا أمر بسيط ولو بحثت في المنتدى ستجد الإجابه أيضا

1

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#3

السلام عليكم

شكرا لك على الاجابة

بالنسبة لسؤالي هو حول تعديل النص الدي على الصفحة وليس ملف نضام

بالنسبة لطريقة استعمال قاعدة البيانات فالامر بسيط لكن ما ابحت عنه هو كيف يمكنني عرض النص متلا في مستعرض كهدا الموجود في المنتدى الدي نكتب عن طريقه المواضيع حيت يتيح لك التعامل مع النص بحرية ( تغيير لون كلمة...عمل تكبير للخط ......) بعد ان يتم الحفض سيتم حفض النص مع اكواد html المضافة عليه وبهدا يتم عرضه كما عدله المستخدم

#4

إياك وحفظ النصوص كـ HTML!

يمكنك إنشاء صندوق بسيط لتنسيق للنصوص (كأن تكون الأحرف bold أو italic أو أن تسمح له بإدراج تعليق .. أو ما شابه ذلك)

وهذه عملية بسيطة

كل واحد من هذه التنسيقات له ترميز معين، كما في المنتدى هنا الخط السميك له التنسيق

النص هنا

ما ستقوم بحفظه في قاعدة البيانات هو هذا الترميز

وعندما تريد العرض للمستخدم تقوم بتمرير النص على تابع يقوم باستبدال هذه التنسيقات المحددة بـ HTML الموافقة.

حاول تبسيط صندوق التنسيق هذا قدر الإمكان بحيث لا تعرّض التطبيق لأخطار حقن شفرات JavaScript في قاعدة البيانات من خلال استغلال ثغرة في الصندوق.

* هذه مجرد ملاحظة أعلم أنها لا تجيبك على سؤالك حول صندوق المعاينة التفاعلي.

الآن بالنسبة للسؤال فإن كنت لا تريد تنفيذ ما سبق بنفسك، فهناك الكثير من محررات WYSIWYG، مثل ckeditor وهو مجاني تستطيع استخدامه في موقعك.

إن أردت تنفيذ ما سبق بشكل يدوي وخاص بك، فالعملية تتم من خلال إدراج iframe يحوي على وسوم متكاملة لصفحة html وفي وسم body تضع الخاصة contenteditable وقيمتها true

مثل:

<iframe id="ed-0_iframe" tabindex="0" style="border: 1px inset; width: 100%; height: 254px;">
<html id="ed-0_html">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
</head>
<body contenteditable="true" class="withRTL">

</body></html></iframe>

حتى يمكنك إدراج CSS مستقل داخل وسم HEAD يكون تأثيره فقط على الصفحة المضمّنة داخل الـ iframe.

1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

بارك الله فيك اخي

حملت هدا المحرر لكن وجدت معه مشكل

المحرر يعمل جيدا على الصفحة لكن عندما اعمل على النص بداخله ويكون كود HTML الناتج به العلامة " لا يضهر عند عمل echo

هدا كود الصفحة

<?php

 include('Include/header.php');

?>


<body>


<div id="all">



<?php


  include('Include/menu.php');

?>

<div id = "content" >


 <form action="index.php" method="POST">
 <textarea rows="2" cols="20" name="test" class="ckeditor">My simple texte</textarea>
 <input type="submit" />
 </form>

<?php

  if (isset($_POST['test'])) {
    echo  $_POST['test'];


  }

?>

</div> <!-- Close content -->

<?php

include ('Include/footer.php');

?>

<div> <!-- Close All -->

</body>
</html>

<?php

?>

لاوضح الفكرة اكتر فمتلا لو عدلنا الكلمة Simple عملنا لها Bold فالوسم الناتج يكون </b>Simple<b> اي لا يحتوي على العلامة "

اما في حالة غيرنا لون هده الكلمة الى الاحمر متلا

<p>
	My <span style="color:#ff0000;">simple</span> texte</p>

عند عمل echo لا تضهر الكلمة باللون الاحمر واكني لم اعدل عليها

ولو قمت بعمل متغير نصي وسجلت به الكود الناتج تم عملت طباعة له تضهر الكلمة باللون الاحمر

if (isset($_POST['test'])) {
    $data =  '<p>My <span style="color:#ff0000;">simple</span> texte</p>';
    echo $data;

  }

تم تعديل هذه المشاركة بواسطة Ph-RevIng في 1 أغسطس 2012 في 20:01

#6

استخدم Firebug أو أداة المطور الموجودة في Chrome وانظر للجزء بعد طباعته على النافذة وقم بتحريره كـ HTML وانظر هل الـ " تبقى كما هي أم تتحول إلى &quote; مثلاً أم ماذا.

أيضاً لو أرفقت الملفات التي تعمل عليها كاملةً مع ملفات ckeditor فسيكون أسهل علينا مساعدتك (البعض منا لا يملك الوقت ليقوم بتحميل وإعداد برمجيات لتجربتها)

1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#7

تفضل اخي الكريم

لم اعرف اين السبب لكن من الضاهر ان كود html المكون عبر المحرر لا يرسل عبر الـPOST بالشكل الصحيح

Edit.rar

تم تعديل هذه المشاركة بواسطة Ph-RevIng في 2 أغسطس 2012 في 03:50

#8

قمت باختبار الملف المرفق على كل من Chrome / Firefox / Opera / IE

وظهر النص بالتنسيقات بشكل صحيح على جميع المتصفحات المذكورة :blink:

1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#9

غريب هدا الامر

لدي نفس المتصفات جربت عليها كلها ونفس المشكل

للتنويه فقط لدي مشكل مع جميع هده المتصفحات

اغلب المواقع عند فتحها يتحول البروتوكول http الى https ولا يتم فتح الموقع حتى اعمل موافقة على certificat

وفي بعد الاحيان يفتح بشكل مبعتر

قد يكون لهدا الامر علاقة ؟

#10

لا علاقة، لأنك تستعمل سيرفر محلي (أنت تستعمل سيرفر محلي في الاختبارات، صح؟)

وبكل الأحوال ليس من المفترض أن يتسبب HTTPS بمشكلة.

لكن على الجانب: هل تستخدم إضافة HTTPS-Everywhere؟ مسألة أن "أغلب" المواقع التي تفتحها تتحول إلى HTTPS وشهاداتها ليست authorized by root CA (تستنبط هذا لكونك تحتاج للموافقة عليها يدوياً حيث أن المتصفح لا يثق بها تلقائياً) فهو أمر يدعو للريبة بكل الأحوال.

1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#11

جرب هذا المحررر يمكن يعجبك

http://redactorjs.com/

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

مواضيع مشابهة