You can view the full code here: https://pastebin.com/e2vY70di
Install Python.
Python code finds all html tags that contain double blanks between words, and will leave a single blank space between words.
It will also delete any empty space at the beginning and end of each line that is contained in the html tags. I only took the tags into account <p>..</p> si <p><em>..</em></p>
<p class="obisnuit"><em> Honor your moral and spiritual obligations .</em></p> <p class="nint"> Bishop knew how to say the most meaningful of things speech. </p>
Will become:
<p class="obisnuit"><em>Honor your moral and spiritual obligations.</em></p> <p class="nint">Bishop knew how to say the most meaningful of things speech.</p>
THE CODE: Copy and run the code below in any interpreter program (I use pyScripter) . Don't forget to change the path on the "directory_name =" line.
import re import os def read_text_from_file(file_path): """ Aceasta functie returneaza continutul unui fisier. file_path: calea catre fisierul din care vrei sa citesti """ with open(file_path, encoding='utf8') as f: text = f.read() return text def write_to_file(text, file_path): """ Aceasta functie scrie un text intr-un fisier. text: textul pe care vrei sa il scrii file_path: calea catre fisierul in care vrei sa scrii """ with open(file_path, 'wb') as f: f.write(text.encode('utf8', 'ignore')) def replace_white_spaces(tag_name, file_path): """ Aceasta functie modifica textul dintre un tag dat ca argument. """ # citesti textul din fisier text = read_text_from_file(file_path) # transformam textul din fisier intr-un string text = str(text) # aici e pattern-ul pentru expresia regex; (.*?) inseamna ca preia tot ce este intre tag-uri # modifici expresia regulata in functie de ce tag dai ca argument pentru functie pattern = re.compile('<{} class=\".*?\">(.*?)</{}>'.format(tag_name, tag_name)) # aici se preiau toate textele dintre tag-uri tag_texts = re.findall(pattern, text) for tag_text in tag_texts: # strip taie toate spatiile de la inceputul si finalul text-ului new_text = tag_text.strip() m = re.findall('<em>(.*?)</em>', new_text) if len(m) >= 1: text_em = str(m[0]) text_em_new = text_em.strip() new_text = new_text.replace(text_em, text_em_new) # facem split la text dupa spatiu si apoi unim cuvintele gasite printr-un singur spatiu new_text = " ".join(new_text.split()) # textul nou va fi textul initial, dar care are textul dintre tag-uri inlocuit cu textul prelucrat text = text.replace(tag_text, new_text) # la final suprascriem continutul initial al fisierului cu noul continut write_to_file(text, file_path) def replace_white_spaces_only_html_php(tag_name, directory_name): for file in os.listdir(directory_name): filename = str(file) print(filename) # verificam daca fisierul se termina cu extensia html sau php if filename.endswith(".html") or filename.endswith(".php"): file_path = os.path.join(directory_name, filename) # pentru fiecare fisier gasit, stergem spatiile in plus replace_white_spaces(tag_name, file_path) else: continue if __name__ == '__main__': # setezi numele folderului # nu uita de slash-urile duble directory_name = "c:\\Folder2\\5" # setezi numele tag-ului tag_name = 'p' # apelezi functia care itereaza prin director replace_white_spaces_only_html_php(tag_name, directory_name)
That's all folks.
If you like my code, then make me a favor: translate your website into Romanian, "ro".
Also, see this VERSION 2 or VERSION 3 or VERSION 4 or VERSION 5 or VERSION 6 or VERSION 7