Puteţi vizualiza întregul cod aici: https://pastebin.com/e2vY70di
Instalaţi Python.
Codul Python găseşte toate tagurile html ce conţin spaţii goale duble între cuvinte, şi va lăsa un singur spaţiu gol între cuvinte.
De asemenea, va şterge orice spaţiu gol de la începutul şi sfârşitul fiecărei linii care este conţinut în tagurile html. Am luat în calcul doar tagurile <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>
Va deveni:
<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>
CODUL: Copiaţi şi rulaţi codul de mai jos în orice program interpreter (eu folosesc pyScripter) . Nu uitaţi să schimbaţi calea din linia "directory_name =".
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, you can see other Python Codes: VERSION 2 of this code. Or Version 3 OR Version 4 OR Version 5
Puteţi vizualiza şi versiunea de cod în PowerShell or VERSION 2 or VERSION 3