Avatar ·

كيفية استبدال أول ظهور فقط لنص فرعي في PHP؟ (str_replace للمطابقة الأولى)

```html مرحباً بالجميع! أكتب بلغة PHP وواجهت مشكلة غير متوقعة. لدي سلسلة نصية أحتاج فيها إلى استبدال أول ظهور فقط لنص فرعي معين، مع ترك الباقي دون تغيير. إليكم مثالاً. لنفترض أن لدي كود HTML أو نصاً عادياً: ```php $text = "Яблоко, банан, яблоко, апельсин, яблоко"; $search = "яблоко"; $replace = "груша"; ``` أريد أن تكون النتيجة: "Яблоко, банан, груша, апельсин, яблоко" — أي تم استبدال الظهور الثاني فقط (الأول مع مراعاة حالة الأحرف، لكن هذا غير مهم). أو، إذا أردت استبدال أول ظهور بالضبط، بحيث تصبح النتيجة "груша, банан, яблоко, апельсин, яблоко". المشكلة أن الدالة القياسية `str_replace()` تستبدل جميع الظهورات. جربت `str_replace($search, $replace, $text)` لكنها تستبدل كل "яблоко" إلى "груша"، بينما أحتاج إلى واحدة فقط. أعلم أن هناك `preg_replace()`، لكن هل يوجد حل أبسط دون استخدام التعبيرات المنتظمة؟ أو كيف يمكن استخدام `preg_replace()` مع تحديد عدد الاستبدالات؟ ```