sostituisci lo spazio nel testo senza influire sui tag html

Devo sostituire lo spazio all’interno del codice HTML di   , ma senza intaccare gli spazi all’interno di.

In modo che qualcosa del genere: Hello How Are You? diventerebbe questo: Hello  How Are  You?

Cambia gli spazi all’esterno dei tag, ma gli spazi all’interno dei tag non sono interessati.


Ho provato questo codice di esempio suggerito da qualcuno:

  NSString *string = originalHTMLString; NSError *error = nil; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(?i)(\"']|\"[^\"]*\"]|'[^']*')*>)\s+|\"']|\"[^\"]*\"]|'[^']*')*>)\s+||\"']|\"[^\"]*\"]|'[^']*')*>|\\S+)|\\s+" options:NSRegularExpressionCaseInsensitive error:&error]; NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@"  "]; finalHTMLString = modifiedString; 

Ma non ha funzionato. Appena restituito Null, penso che il modello RegEx sia sbagliato.


Questo è un esempio di codice HTML che devo convertire:

  من مشاكل جرّأء العثّ والفيروسات منذ سنوات. إلاّ أنّ أمرًا ما حدث في الأعوام الماضية وسبّب المشكلة".

ويعتقد هاكينبرغ أنّ الأمر بدأ منذ عام 2004. ففي أيار ذلك العام، اشتكى مزارعو العنبيّة في ماين من أنّ نحلهم الذي يلقّح محصولهم كان يُنتج طرودًا ويغادر الخلايا. كما أنّ نحل الخلايا الأخرى لا يسرق العسل الموجود في الخليّة المتروكة.

وحين بحث عن تفسير لهذا السلوك الغريب، اكتشف أنّ مزارعي التفاح في واشنطن استعملوا مبيدًا جديدًا يحتوي على النيونيكوتينوييد يُدعى Assail لأشجارهم. وكان نحله يلقّح تلك الأشجار في الربيع.

ذاك الشتاء (2004-2005)، خسر ثلثَ نحله تقريبًا، وهي نسبة أعلى بكثير من المعتاد. وفي العام التالي نفق النصف كما أُبلغ عن خسائر في مختلف أنحاء البلاد.

يقول هاكنبيرغ: "لقد ساءت الأمور جدًّا، ولكنّ أحدًا لم يتمكّن من معرفة السبب". لهذا، ففي صيف عام 2006 عقد اجتماعًا مع علماء في نبراسكا ليحاول إيجاد سبب للارتفاع السريع في معدّل نفوق النحل. "قيل إنّ الاجتماع ضمّ أذكى العقول ولكنّنا جلسنا ليومين نتباحث من دون التوصّل لشيء". وبعد بضعة أشهر هلك ثلثا ما تبقّى من نحله.

أعطى النحّالون الذين نقلوا 1.2 مليون قفير إلى بساتين اللوز في كاليفورنيا في شباط أوّل مؤشر على صحة النحل عام 2008. لم تكن الإشارات جيّدة. فمن بين الاثني عشر نحّالاً تقريبًا الذين تحدثنا إليهم، اثنان منهم فقط دخلوا الشتاء سالمين نسبيًّا. أمّا الباقون فخسروا ما يتراوح بين 30 بالمئة و60 بالمئة من قفرلوا الشتاء سالمين نسبيًّا. أمّا الباقون فخسروا ما يتراوح بين 30 بالمئة و60 بالمئة من قفر\330انهم بما بدا شبيهًا بداء انهيار الخليّة. ومن بين عمليات الهجرة الاثنتي عشرة التي تابعتها وزارة الزراعة الأميركيّة من أيلول العام 2007 وحتّى ربيع العام 2008، ظهر في خمس 00002 00003

 

 

عَالَمٌ بِلا نَحْل

A World Without Bees

 

 

تأليف:

 

Grazie per il vostro aiuto.

Questa non è una risposta RegEx, ma in Objective-C questo dovrebbe prendere una stringa chiamata originalHTML , distriggersre tutti gli spazi al di fuori dei tag e salvarla come una stringa chiamata finalHTML

 NSString *originalHTML = @"Your backslashed HTML Here"; NSString *finalHTML = [[NSMutableString alloc] init]; BOOL insideTag = NO; BOOL convertSpace = NO; for (int i = 0; i < originalHTML.length; i++) { unichar uniCharacter = [originalHTML characterAtIndex:i]; if ([[NSString stringWithFormat:@"%C", uniCharacter] isEqualToString:@"<"]) { insideTag = YES; } if ([[NSString stringWithFormat:@"%C", uniCharacter] isEqualToString:@">"]) { insideTag = NO; } if (!insideTag) { if ([[NSString stringWithFormat:@"%C", uniCharacter] isEqualToString:@" "]) { convertSpace = YES; } } if (!convertSpace) { finalHTML = [finalHTML stringByAppendingFormat:[NSString stringWithFormat:@"%C", uniCharacter]]; } else { finalHTML = [finalHTML stringByAppendingFormat:@" "]; convertSpace = NO; } } NSLog(@"%@", finalHTML); 

* Nota, questo non funzionerà se hai solo un segno meno di un segno o più grande di un segno nel tuo corpo html che non fa parte di un tag. Se hai bisogno di scrivere meno di nel testo del tuo corpo, per favore usa < o >